Comprima la salida del comando canalizando a bzip2

11

¿Es posible canalizar una salida de comando a bzip2 para la compresión de un archivo de salida?

Algo en la línea de:

cat somefile.txt | bzip2 --output somefile.txt.bz2
Dom
fuente
No recomiendo usar bzip2, es más lento y tiene una compresión peor que xz
Dmitry Kudriavtsev

Respuestas:

13

Puede hacer esto con bzip2la -copción de:

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

Por ejemplo:

command | bzip2 -c > some.txt.bz2

Y para descomprimir:

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

La utilidad bzip2 comprimirá stdin pero no lo escribirá en stdout si stdout es un terminal. Sin embargo, puede utilizar técnicas de redirección de salida estándar.

command | bzip2 >somefile.txt.bz2

y para leerlo, las herramientas habituales están disponibles, por ejemplo

bzless somefile.txt.bz2
usuario9517
fuente
1
Curiosamente, la documentación es bastante buena para bzip2.
user9517