Barra de progreso con dialog y rsync
Publicado por caic (99 intervenciones) el 21/03/2018 17:15:20
Hola,
Estoy haciendo un script con menús para automatizar la descarga de logs de diferentes máquinas y me gustaría mostrar una barra de progreso mientras se descargan.
Lo que tengo hasta ahora es:
Pasando los números del 1 al 100 a este comando dialog consigo hacer la barra:
Por otro lado, para conseguir un porcentaje total de la descarga uso rsync:
Con el rsync consigo un output similar a este:
Pero no he sido capaz de pasarle únicamente el número del % al dialog.
He probado incluso redirigiendo la salida del rsync a un fichero:
Para luego probar todo esto sin éxito:
¿Alguna idea?
Gracias.
Estoy haciendo un script con menús para automatizar la descarga de logs de diferentes máquinas y me gustaría mostrar una barra de progreso mientras se descargan.
Lo que tengo hasta ahora es:
Pasando los números del 1 al 100 a este comando dialog consigo hacer la barra:
1
2
3
4
5
for i in {1..100}
do
echo "$i"
sleep 1
done | dialog --title "Prueba" --gauge "Prueba barra progreso" 20 70
Por otro lado, para conseguir un porcentaje total de la descarga uso rsync:
1
rsync -a --info=progress2 $maquina:$ruta .
Con el rsync consigo un output similar a este:
1
2
$ rsync -a --info=progress2 $maquina:$ruta .
36,389,835 1% 6.19MB/s 0:07:16 xfr#2, to-chk=156/195)
Pero no he sido capaz de pasarle únicamente el número del % al dialog.
He probado incluso redirigiendo la salida del rsync a un fichero:
1
$ rsync -a --info=progress2 $maquina:$ruta . > noseyo
Para luego probar todo esto sin éxito:
1
2
3
$ tail -f noseyo | awk '{print $2}'
$ tail -f noseyo | cut -c10-
$ tail -f noseyo | while read uno dos resto; do echo $dos; done
¿Alguna idea?
Gracias.
Valora esta pregunta


0