通过管道压缩命令输出到 bzip2

Dom*_*Dom 18 linux bash

是否可以将命令输出通过管道传输到 bzip2 以压缩到输出文件?

类似的东西:

cat somefile.txt | bzip2 --output somefile.txt.bz2
Run Code Online (Sandbox Code Playgroud)

Mic*_*ton 19

您可以使用bzip2's-c选项执行此操作:

       -c --stdout
              Compress or decompress to standard output.
Run Code Online (Sandbox Code Playgroud)

例如:

command | bzip2 -c > some.txt.bz2
Run Code Online (Sandbox Code Playgroud)

并解压:

bzip2 -dc < some.txt.bz2 | less
Run Code Online (Sandbox Code Playgroud)


use*_*517 5

bzip2 实用程序将压缩 stdin,但如果 stdout 是终端,则不会将其写入 stdout。您可以使用标准输出重定向技术。

command | bzip2 >somefile.txt.bz2
Run Code Online (Sandbox Code Playgroud)

并阅读它通常的工具是可用的,例如

bzless somefile.txt.bz2
Run Code Online (Sandbox Code Playgroud)