我有一些目录(Linux 机器)充满了高度可压缩的 *.foo 文件。
现在我只有一个脚本gzip *.foo
,它将每个文件压缩到它自己的 .gz 文件中,并删除原始文件。7z 会将这些文件压缩为 gzip 大小的一半,所以我想切换到它。
我如何使用 7z 来启动这样的目录
file1.foo
file2.foo
file3.foo
最后得到
file1.foo.7z
file2.foo.7z
file3.foo.7z
或者类似的东西。我不想把所有文件都放在一个 .7z 存档中。
答案1
for i in *.foo; do 7za a $i.7z $i; if [ $? -eq 0 ]; then rm $i; fi; done
答案2
尝试一下:
find -type f -maxdepth 1 -name "*.foo" -print0 | xargs -0 -I % 7z a %.7z %
但压缩后仍会保留原始文件。