我想复制五个文件的内容到一个文件。我试着对每个文件使用cp。但是这会覆盖从上一个文件复制的内容。我也试过
paste -d "\n" 1.txt 0.txt
但这并没有奏效。
我希望我的脚本在每个文本文件的末尾添加换行符。
如。文件1.txt, 2.txt, 3.txt。把1,2,3的内容放在0.txt中
我该怎么做?
我想复制五个文件的内容到一个文件。我试着对每个文件使用cp。但是这会覆盖从上一个文件复制的内容。我也试过
paste -d "\n" 1.txt 0.txt
但这并没有奏效。
我希望我的脚本在每个文本文件的末尾添加换行符。
如。文件1.txt, 2.txt, 3.txt。把1,2,3的内容放在0.txt中
我该怎么做?
当前回答
如果你的文件包含头文件,你想在输出文件中删除它们,你可以使用:
for f in `ls *.txt`; do sed '2,$!d' $f >> 0.out; done
其他回答
如果你所有的文件名称都类似,你可以简单地这样做:
cat *.log >> output.log
如果您所有的文件都在一个目录中,您可以简单地这样做
猫* > .txt
文件1.txt,2.txt, ..会进入0.txt
如果你的文件包含头文件,你想在输出文件中删除它们,你可以使用:
for f in `ls *.txt`; do sed '2,$!d' $f >> 0.out; done
所有的(文本)文件到一个
find . | xargs cat > outfile
Xargs生成find的输出行。猫的论点。
Find有很多选项,比如name '*.txt'或type。
如果您想在管道中使用它,您应该查看它们
for i in {1..3}; do cat "$i.txt" >> 0.txt; done
我找到这个页面是因为我需要将952个文件合并为一个。我发现如果你有很多文件,这个工作得更好。这将为您需要的任意数量的数字进行循环,并使用>>将每个数字附加到0.txt的末尾。
编辑:
正如评论中提到的:
cat {1..3}.txt >> 0.txt
or
cat {0..3}.txt >> all.txt