Kompres keluaran perintah dengan memipet ke bzip2

11

Apakah mungkin untuk mem-pipe output perintah ke bzip2 untuk kompresi ke file output?

Sesuatu di sepanjang garis:

cat somefile.txt | bzip2 --output somefile.txt.bz2
Dom
sumber
Saya tidak merekomendasikan menggunakan bzip2, ini lebih lambat dan memiliki kompresi lebih buruk daripada xz
Dmitry Kudriavtsev

Jawaban:

13

Anda dapat melakukan ini dengan bzip2's -cpilihan:

       -c --stdout
              Compress or decompress to standard output.

Sebagai contoh:

command | bzip2 -c > some.txt.bz2

Dan untuk dekompresi:

bzip2 -dc < some.txt.bz2 | less
Michael Hampton
sumber
4

Utilitas bzip2 akan mengompresi stdin tetapi tidak akan menuliskannya ke stdout jika stdout adalah terminal. Anda dapat menggunakan teknik redirection output standar.

command | bzip2 >somefile.txt.bz2

dan untuk membacanya alat yang biasa tersedia misalnya

bzless somefile.txt.bz2
user9517
sumber
1
Anehnya, dokumentasi ini cukup bagus untuk bzip2.
user9517