Xdialog et wget

tlep Messages postés 597 Statut Membre -  
tlep Messages postés 597 Statut Membre -
Bonjour,

J'ai découvert Xdialog récemment, et j'essaie en vain de le faire fonctionner avec wget, pour afficher une boite de progression de téléchargement:

#/bin/bash
[ "$1" == "" ] && echo "wget ??" && exit
logfile=/tmp/logfile
wget -v -b $1 -o "$logfile"

grep "[0-9]\{1,2\}%" "$logfile"|awk '{print $7}'|
( while read n;do
echo ${n%%%}
done ) | Xdialog --gauge "Téléchargement en cours..." 10 30;

Je ne comprends pas pourquoi la boite de progression s'ouvre puis se ferme instantanément, alors que si je garde le fichier log wget (/tmp/logfile), mais que je mets en commentaire le wget, elle s'affiche normalement ???

Merci ;-)

2 réponses

dubcek Messages postés 19033 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
J'essaierai ça, pour que le log soit accédé en continu:

tail -f $logfile | grep "[0-9]\{1,2\}%" |awk '{print $7}'|
( while read n;do
echo ${n%%%}
done) | Xdialog --gauge "Téléchargement en cours..." 10 30;
0
tlep Messages postés 597 Statut Membre 118
 
Merci pour la suggestion;

tail -f ne fonctionne pas non plus avec Xdialog dans un script.

Par contre j'ai fait ceci :

#!/bin/bash
[ "$1" == "" ] && echo "wget ??" && exit
logfile=/tmp/logfile
wget -c -v -b $1 -o "$logfile"
while [ ! "$(tail -2 $logfile|awk '{print $7}'|grep -o "^[0-9]\{1,2\}")" ];do
sleep 1
done
(while [ "$(tail -2 $logfile|awk '{print $7}'|grep -o "^[0-9]\{1,2\}")" ];do
tail -2 $logfile|awk '{print $7}'|grep -o "^[0-9]\{1,2\}"
done) | Xdialog --gauge "Téléchargement de `basename $1` en cours..." 10 70;

Et ca fonctionne correctement.
0