Komprimieren Sie die Befehlsausgabe, indem Sie sie an bzip2 weiterleiten

11

Ist es möglich, eine Befehlsausgabe zur Komprimierung in eine Ausgabedatei an bzip2 weiterzuleiten?

Etwas in der Art von:

cat somefile.txt | bzip2 --output somefile.txt.bz2
Dom
quelle
Ich empfehle nicht, bzip2 zu verwenden, es ist langsamer und hat eine schlechtere Komprimierung als xz
Dmitry Kudriavtsev

Antworten:

13

Sie können dies mit bzip2der -cOption tun :

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

Beispielsweise:

command | bzip2 -c > some.txt.bz2

Und zu dekomprimieren:

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

Das Dienstprogramm bzip2 komprimiert stdin, schreibt es jedoch nicht in stdout, wenn stdout ein Terminal ist. Sie können jedoch Standardtechniken für die Ausgabeumleitung verwenden.

command | bzip2 >somefile.txt.bz2

und um es zu lesen, stehen die üblichen Werkzeuge zur Verfügung, z

bzless somefile.txt.bz2
user9517
quelle
1
Seltsamerweise ist die Dokumentation für bzip2 ziemlich gut.
user9517