Skompresuj dane wyjściowe polecenia przez potokowanie do bzip2

11

Czy jest możliwe przesłanie danych wyjściowych polecenia do bzip2 w celu kompresji do pliku wyjściowego?

Coś w stylu:

cat somefile.txt | bzip2 --output somefile.txt.bz2
Dom
źródło
Nie polecam używania bzip2, jest wolniejszy i ma gorszą kompresję niż xz
Dmitry Kudriavtsev

Odpowiedzi:

14

Można to zrobić z bzip2„s -copcji:

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

Na przykład:

command | bzip2 -c > some.txt.bz2

I dekompresować:

bzip2 -dc < some.txt.bz2 | less
Michael Hampton
źródło
4

Narzędzie bzip2 kompresuje stdin, ale nie zapisuje go na stdout, jeśli stdout jest terminalem. Możesz jednak użyć standardowych technik przekierowania wyjścia.

command | bzip2 >somefile.txt.bz2

i do czytania dostępne są zwykłe narzędzia, np

bzless somefile.txt.bz2
użytkownik9517
źródło
1
O dziwo dokumentacja jest całkiem dobra dla bzip2.
user9517