我有一些目录(Linux机器)充满高度可压缩* .foo文件。
现在我只是有一个脚本,它执行gzip *.foo ,并将每个文件gzip压缩到它自己的.gz文件中,并删除原始文件。 7z会将这些文件压缩成gzip的一半大小,所以我想切换到这个文件。
我怎样才能使用7z开始这样的目录
file1.foo file2.foo file3.foo
并最终结束
file1.foo.7z file2.foo.7z file3.foo.7z
或类似。 我不想在一个.7z档案中的所有文件。
for i in *.foo; do 7za a $i.7z $i; if [ $? -eq 0 ]; then rm $i; fi; done
试试这个:
find -type f -maxdepth 1 -name "*.foo" -print0 | xargs -0 -I % 7z a %.7z %
但这将压缩后保留原始文件。