¿Por qué esto no es posible?
pv ${dest_file} | gzip -1
pv
es una barra de progreso
error
gzip: compressed data not written to a terminal. Use -f to force compression.
For help, type: gzip -h
0 B 0:00:00 [ 0 B/s] [> ] 0%
Esto funciona
pv ${file_in} | tar -Jxf - -C /outdir
command-line
gzip
clarkk
fuente
fuente
pv
andgzip
command?Respuestas:
Lo que intenta lograr es ver la barra de progreso del proceso de compresión. Pero no es posible usarlo
pv
. Solo muestra el progreso de la transferencia, que puede lograr con algo como esto (de todos modos, es el primer enlace en Google):La barra de progreso se ejecutará rápidamente y luego esperará la compresión, que ya no se puede usar
pv
.Pero puede hacerlo al revés y ver la secuencia de salida, pero aquí no podrá ver el progreso real, porque
pv
no conoce el tamaño real del archivo comprimido:Lo mejor que he encontrado hasta ahora es el de commandlinefu incluso con limitación de velocidad y compresión de directorios:
fuente
gzip input_file | pv > compressed_file
gzip -c
es necesario enviar la salida a stdout para permitir que se pasepv
, de lo contrario, la barra de progreso no funcionará ya que no hay datos que vayanpv
:)mysqldump ... | gzip | pv > output.sql.gz
.Sí, es posible usar las líneas del archivo, no los bytes. Obtiene una barra de progreso lo suficientemente precisa:
fuente
En su lugar, puede usar 7z para obtener un porcentaje de progreso:
fuente