Aquí es donde tenemos el comando "pv" (Pipe Viewer), un interesante comando que permite visualizar una barra de progreso e incluso el tiempo estimado de finalización.
A continuación algunos ejemplos de su uso :
Comprimir un archivo usando gzip :
pv access.log | gzip > access.log.gz
482MB 0:00:26 [18.3MB/s] [==================================>] 100%
Comprimir un archivo usando bzip2 :
pv access.log | bzip2 > access.log.bz2
482MB 0:04:45 [1.69MB/s] [==================================>] 100%
Descomprimir un archivo usando gzip :
pv access.log.gz | gunzip > access.log
48.5MB 0:00:08 [5.85MB/s] [==================================>] 100%
Descomprimir un archivo usando bzip2:
pv access.log.bz2 | bunzip2 > access.log
25.2MB 0:00:42 [ 607kB/s] [==================================>] 100%
Comprimir el directorio actual con una sola línea de comando :
tar cpf - . | pv -s $(du -sb . | cut -f1) | gzip > archive.tar.gz
1.48GB 0:01:33 [16.3MB/s] [==================================>] 100%
Este es un poco más complicado y requiere algo de explicación: dado que "pv" no puede conocer a priori la cantidad de datos que se transferirán, tenemos que incluir de antemano la información mediante el comando "du"
Hay mucho más que el comando "pv" puede hacer por nosotros, por ejemplo, limitando el flujo de datos de un "pipe" (usando el modificador de salida "-L"). Junto con el modificador de salida "-q" (que desactiva la barra de progreso), es posible su uso para la proyección de animaciones de texto.
Ejecutar una animación VT100 a 9600 bytes por segundo (un globo que gira):
curl -s http://artscene.textfiles.com/vt100/movglobe.vt | pv -q -L 9600
Y finalmente un grupo de ejemplos más vistosos (que usan el comando "dialog" que es igualmente interesante):
(pv -n backup.tar.gz | tar xzf - -C path/to/data ) 2>&1 | dialog --gauge "Running tar, please wait..." 10 70 0
tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70
tar -cf - . | pv -s $(du -sb . | awk '{print $1}') | gzip > out.tgz
pv linux-source.tar.bz2 | tar -jxf -
No hay comentarios:
Publicar un comentario