如何合并和删除unix中的文件?

时间:2017-07-11 07:40:42

标签: bash unix cat

我想在bash中将多个文件合并为单个文件。所以我使用代码,

cat file1 file2 file3 file4>>输出

但由于我的计算机内存不足,我无法创建合并文件。相反,你知道如何将数据添加到输出文件后同时删除file1 file2 file3吗?

2 个答案:

答案 0 :(得分:4)

for i in file1 file2 file3 file4 ; do cat "$i" >> output && rm "$i" || break ; done

因此,对于每个文件,它会将内容附加到output并在附加后删除源文件。如果出现任何问题,它就会停止。

答案 1 :(得分:0)

我能想到的最好的是:

mv file1 output
cat file2 >> output && rm file2 &&
cat file3 >> output && rm file3 

这里的rm几乎是最早的有用机会。

当然,您可以在for循环中执行此操作。

mv file1 output
for f in file*; do
   cat $f >> output && rm $f
done