我正在尝试合并大量总大小为75Gb的文件。如果我使用,例如
~$ cat * > out.merge
两个文件的大小相当于150Gb而我的HD没有这样的空间。那么如何避免重复数据?
提前致谢...
答案 0 :(得分:0)
您可以使用循环:
for n in *
do
cat "$n" >>out.merge && rm "$n"
done
在这种情况下,循环会删除使用过的文件,然后再转到下一个文件。您甚至可以将第一个文件重命名为out.merge
,然后附加其余文件以节省第一个文件的空间...
答案 1 :(得分:0)
您可以尝试cat
每个文件并立即将其删除,如
for f in ./*; do cat "$f" && rm "$f"; done > another_dir/out.merge
虽然这仍然会为每个文件生成一个新的cat
。