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 ;-)
Configuration: Linux Debian
Mozilla 1.8.1.3

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  2. 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