Bash 高效地将大rar文件转换为多个bzip2
情况: 我收到一个包含多个日志文件的大rar文件。 我正在将每个日志文件转换为bzip2归档文件 我现在在做什么: 完全解压缩rar文件,然后将所有日志文件转换为bzip2归档文件 我想做什么: 不要先存储所有未压缩的文件,以尽可能提高效率 我的第一个想法是解析UNRR的输出,以区分文件何时完全解压缩,然后对其启动bzip2压缩Bash 高效地将大rar文件转换为多个bzip2,bash,shell,scripting,compression,Bash,Shell,Scripting,Compression,情况: 我收到一个包含多个日志文件的大rar文件。 我正在将每个日志文件转换为bzip2归档文件 我现在在做什么: 完全解压缩rar文件,然后将所有日志文件转换为bzip2归档文件 我想做什么: 不要先存储所有未压缩的文件,以尽可能提高效率 我的第一个想法是解析UNRR的输出,以区分文件何时完全解压缩,然后对其启动bzip2压缩 我该怎么做呢?由于UNRR支持打印文件的p命令,类似这样的命令应该可以工作: for FN in $(unrar lb "$RARFILE"); do unrar
我该怎么做呢?由于UNRR支持打印文件的
p
命令,类似这样的命令应该可以工作:
for FN in $(unrar lb "$RARFILE"); do
unrar p -ierr "$RARFILE" "$FN" | bzip2 -c > "$FN.bz2"
done
如果归档文件是一个“可靠”的归档文件,这将不是非常有效,因为它将不得不多次处理所有文件。如果文件名可能包含空格,也要小心