「java合并shell」java合并两个数组
本篇文章给大家谈谈java合并shell,以及java合并两个数组对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Shell脚本合并文本文件
- 2、shell如何将多个文件合并并以回车符作为换行符并删除文件
- 3、怎么通过java去调用并执行shell脚本以及问题总结
- 4、java如何合并多个大的txt文件?(每个文件50M)。nio处理文件如何提高速度?
Shell脚本合并文本文件
有时候,要遇到将多个文件合并成一个的需要,除了重复的复制和粘贴,还可以通过Shell来辅助实现。下面是两种实现方案。
这里通过运行merge.sh可以将同目录下的所有的txt文件合并到all.all。
效果如下:
上面的方法中,需要写一个Shell脚本,有些麻烦。其实,可以直接通过cat命令来实现。
默认地,cat命令可以直接接收多个参数,这样,通过重定向可以很方便地合并文件:
但是,如果想在各个文件内容的前面加一些说明,就像前面的shell脚本一样,就需要利用cat命令的一个小feature。下面是man cat中的描述:
利用这一点,我们可以在文件参数之间间隔加入“-”。这样,每当读取完一个文件的内容,cat都会从标准输入读取下一个文件的说明信息。结束输入的时候,我们需要按Ctrl+d输入EOF,来结束标准输入读取。如下:
前面的脚本中用到了shell字符串变量的截取,在下面补充下截取方法说明:
shell如何将多个文件合并并以回车符作为换行符并删除文件
shell将多个文件合并并以回车符作为换行符并删除文件:tr命令的操作是针对文件的操作,它把整个文本当做操作的对象,所以可以直接去除文件中的换行符。
不应该用单引号或双引号吧!应该用反引号(就是ESC下面那个键),以前我也犯过类似的毛病。因为反引号在shell中的字符串会被解释成为命令。还有echo的-e选项是对转义字符进行解析,默认的是不解析的。
shellKorn Shell(ksh):
有很长一段时间,只有两类shell供人们选择——Bourne shell用来编程,csh用来交互。为了改变这种状况,ATT贝尔实验室的David Korn开发了ksh。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。
ksh广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。ksh是一个交互式的命令解释器和命令编程语言。它符合POSIX——一个操作系统的国际标准。POSIX不是一个操作系统。
怎么通过java去调用并执行shell脚本以及问题总结
// 用法:Runtime.getRuntime().exec("命令");
String shpath="/test/test.sh"; //程序路径
Process process =null;
String command1 = “chmod 777 ” + shpath;
try {
Runtime.getRuntime().exec(command1 ).waitFor();
} catch (IOException e1) {
e1.printStackTrace();
}catch (InterruptedException e) {
e.printStackTrace();
}
String var="201102"; /参数
String command2 = “/bin/sh ” + shpath + ” ” + var;
Runtime.getRuntime().exec(command2).waitFor();
java如何合并多个大的txt文件?(每个文件50M)。nio处理文件如何提高速度?
这种情况java.io, nio没有大区别
byte[] buf = new byte[8 * 1024];
try (OutputStream out = new new FileOutputStream(outfile)) {
for (File f : txtFiles) {
try (FileInputStream in = new FileInputStream(f)) {
org.apache.commons.io.IOUtils.copyLarge(in, out, buf);
}
}
}
要是linux下,shell里直接执行cat *.txt out.txt就可以,不用写代码
关于java合并shell和java合并两个数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。