情节:
我收到了一个包含多个日志文件的大型rar文件。 我正在将每个单独的日志文件转换为bzip2存档。
我现在在做什么:
完全解压缩rar文件,然后将所有日志文件转换为bzip2档案。
我想做什么:
首先不存储所有未压缩的文件,以尽可能高效。
我的第一个想法是解析unrar的输出,以区分文件何时完全解压缩,然后在其上启动bzip2压缩。
我怎么能这样做?
答案 0 :(得分:2)
由于unrar支持p
命令来打印文件,所以这样的事情应该有效:
for FN in $(unrar lb "$RARFILE"); do
unrar p -ierr "$RARFILE" "$FN" | bzip2 -c > "$FN.bz2"
done
如果存档是“可靠”存档,则效率不高,因为它必须多次处理所有文件。如果文件名可以包含空格,也要小心。