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

Posted

技术标签:

【中文标题】如何在unix中合并和删除文件?【英文标题】:How to merge and delete the files in unix? 【发布时间】:2017-12-15 03:32:33 【问题描述】:

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

cat 文件1 文件2 文件3 文件4 >> 输出

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

【问题讨论】:

【参考方案1】:

我能想到的最好的是:

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

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

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

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

【讨论】:

【参考方案2】:
for i in file1 file2 file3 file4 ; do cat "$i" >> output && rm "$i" || break ; done

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

【讨论】:

以上是关于如何在unix中合并和删除文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除某个目录(在 Mac 终端中)-unix 中文件名的最后 n 个字符?

如何从合并请求中删除跟踪的文件

Linux/Unix 怎样找出并删除某一时间点的文件

从文本文件中删除二进制符号

无法从 UNIX 上的命令文本输出文件中删除空格

如何使用 Unix 从一行中删除第二次出现