Rechercher : dans
Par :

Xdialog et wget

Dernière réponse le 9 jun 2007 à 01:54:57 tlep, le 7 jun 2007 à 23:34:10 
 Signaler ce message aux modérateurs

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 ;-)

Configuration: Linux Debian
Mozilla 1.8.1.3

Meilleures réponses pour « Xdialog et wget » dans :
Installer Opera 10 dans Ubuntu 9.04 (Jaunty) VoirSi vous aviez déjà une ancienne version d'Opera, commencez par la supprimer: sudo apt-get remove opera (vous ne perdrez pas votre configuration ni vos bookmarks.) Puis faites: sudo wget -O - http://deb.opera.com/archive.key | sudo apt-key add ...
VirtualBox - Installer VirtualBox sous Ubuntu VoirVirtualBox est déjà présent dans les dépôts officiels d'Ubuntu, mais c'est seulement la version 2.x, et sans le support USB. Il est facile d'installer la version 3.x: wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- |...
Screenshot.sh VoirCapture d'écran Présentation Prérequis Syntaxe Utilisation Code source Screenshots Liens Présentation Voilà un petit script basé sur les outils d'ImageMagic pour réaliser des captures d'écran (complètes ou partielles), avec en prime...

1

dubcek, le 8 jun 2007 à 12:34:46

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;

Répondre à dubcek

2

 tlep, le 9 jun 2007 à 01:54:57

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.

Répondre à tlep