Pages : 1
#1 Le 12/08/2008, à 05:43
- nicolas66
Copie avec barre de progression
Bonjour tlm,
Récemment je suis tombé par hasard sur un script bash de copie avec une barre de progression. Le script est basé sur dialog. Ca peut être utile pour la copie de gros fichiers qui demandent un temps de transfert considérable. Bref, voilà le code :
#!/bin/bash
if [ "$1" != "" -a "$2" != "" ]; then
if [ -f $1 ]; then
src=$1
size=`ls -al $src | awk '{print int(($5/512)+(($5%512)?1:0))}'`
src_name=`find $src -printf %f`
else
echo "Fichier source introuvable" >2
exit 1
fi
if [ -f $2 ]; then
dest=$2
else
if [ -d $2 ]; then
dest=$2/$src_name
else
dest=$2
touch $dest 2> /dev/null
if [ $? != 0 ]; then
echo "Destination invalide" >&2
exit 1
fi
fi
fi
echo $src $dest $size
chunk_size=$(($size/100))
if [ $chunk_size -lt 1 ]; then
cp $src $dest
exit 0
fi
copied=0
(while [ $copied -lt $size ]; do
dd if=$src of=$dest bs=512 count=$chunk_size skip=$copied seek=$copied >/dev/null 2>&1
copied=$(($copied+$chunk_size))
echo $(((100*$copied)/$size))
done) | dialog --backtitle "Widgets de bash dialog" --title " Copie en cours " --gauge "$src\n> $dest " 10 60 0
else
echo "usage: $0 source destination"
fi
exit 0
Quand j'aurai un peu de temps, je généraliserais la copie à un ensemble de fichiers. Voilà
Dernière modification par nicolas66 (Le 12/08/2008, à 05:55)
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne
#2 Le 12/08/2008, à 15:44
- tekman54000
Re : Copie avec barre de progression
sinon tu as ca : http://forum.ubuntu-fr.org/viewtopic.php?id=135404 qui prend en charge les commande cp et mv directement
------------------------------------------------------------------------------------------------
"The day Microsoft makes something that doesn’t suck is probably the day they start making vacuum cleaners" Ernst Jan Plugge
------------------------------------------------------------------------------------------------
Hors ligne
#3 Le 12/08/2008, à 16:14
- nicolas66
Re : Copie avec barre de progression
Ah sympa le patch
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne