![7z 目录中的所有文件,删除原始文件](https://linux22.com/image/537771/7z%20%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%EF%BC%8C%E5%88%A0%E9%99%A4%E5%8E%9F%E5%A7%8B%E6%96%87%E4%BB%B6.png)
我有一些目录(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 %
但压缩后仍会保留原始文件。