2 de des. 2009

Progress Bar en comandos consola linux

http://chris-lamb.co.uk/2008/01/24/can-you-get-cp-to-give-a-progress-bar-like-wget/


Damn right you can.

#!/bin/sh
cp_p()
{
strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
| awk '{
count += $NF
if (count % 10 == 0) {
percent = count / total_size * 100
printf "%3d%% [", percent
for (i=0;i<=percent;i++)
printf "="
printf ">"
for (i=percent;i<100;i++)
printf " "
printf "]\r"
}
}
END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
}

In action:

% cp_p /mnt/raid/pub/iso/debian/debian-2.2r4potato-i386-netinst.iso /dev/null
76% [===========================================> ]



--------------------------------------------------------


pv :

Pv est une commande qui va permettre de monitorer l'avancement des commandes un peu longue à l'aide de pipe ( | ). C'est la seule commande de ce lot à requérir une installation. Rien de plus simple pour l'installer que :

sudo aptitude install pv

Pour l'utiliser faite simplement passer le contenu de votre commande par un pipe que vous envoyez vers "pv" qui agira un peu à la façon de "cat".

exemple:

tar cfz - mesphotos | pv > photo.tar.gz

resultat :
65,8MO 0:00:08 [9,31MO/s] [ <=> ]

Ou encore :
pv /var/log/messages | gzip > log.gz

Résultat :
171kO 0:00:00 [18,2MO/s] [========================================================================>] 100%

Plus D'info? ==> man pv

--------------------------------------------------------------------


$ pv a > b;
882MB 0:00:01 [ 465MB/s] [============>] 100%


_____________________________________________________________-

en el meu cas

pv Linux.iso | tar cfz - > hola2.tar



i una altra manera molt bona , aquesta
‘bar’ - ‘cat’ with ASCII progress bar
http://www.theiling.de/projects/bar.html