IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

[Bash] Barre de progression YAD en fonction de log


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Par défaut [Bash] Barre de progression YAD en fonction de log
    Bonjour à tous,

    Je me permets de lancer une discussion pour savoir si l'un d'entre vous pourrait m'aider a écrire un petit script.
    Après avoir regarder plusieurs Forum/cours etc.. je n'arrive pas a monter quelque chose qui fonctionne.

    Le sujet est le suivant:

    J'aimerai créer une barre de progression YAD (jusqu'à la je me débrouille ) qui traduit un fichier de log (fichier qui s'actualise en temps réel). Pour faire simple je récupère des fichiers en TFTP via une console (GTKTERM). Le transfère de ses fichier prends environ 2H donc j'aimerai placer une barre de progression qui m'indique ou j'en suis. Lorsque je regarde mon log de transfert chaque retour de chariot correspond a un fichier transférer. Lorsque le log m'indique un fail je pourrait alors faire remonter un message d'erreur et arrêter le transfert. (je ne sais pas si c'est bien clair)
    En regardant la cmd AWK je me dis que tout est possible mais que je ne la gère pas encore (hé oui je suis comme vous pouvez dire un noob en la matière).

    Y aurait-il parmis vous tous un petit génie qui pourrait m'aider ?

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Pour pouvoir t'aider à améliorer ou corriger ton script, il faudrait que tu commences par nous présenter ce que tu as déjà fait, en précisant exactement où tu rencontres un problème.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    Citation Envoyé par PopCorn78 Voir le message
    l'un d'entre vous pourrait m'aider a écrire un petit script
    possible, t'as quoi comme code jusqu'à présent ?

    un fichier de log (fichier qui s'actualise en temps réel)
    le tout étant de savoir au départ combien de fichiers vont être copiés, sinon globalement ça doit pas poser de problème particulier

    Y aurait-il (...) un petit génie
    c'est comme l'emploi de "pas glop" ou "top moumoute", il devrait y avoir des lois interdisant les clichés et/ou expressions de +30 ans

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Par défaut re: YAD progression
    bonjour,

    Voici le petit script que j'ai commencé a faire. ma boucle While ne fonctionne pas je ne connais pas tellement sa syntaxe. et d'autre part je ne sais pas non plus comment faire comprendre a mon YAD le pourcentage achevé du programme ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #! /bin/bash
     
    fichier_temp=/var/log/pif_atftpdlog
    truncate -s 0 $fichier_temp
     
    while [ ! {grep user_data.3 $fichier_temp } ]; do
         tail -n 1 $fichier_temp
    done | yad --title='Téléchargements' --window-icon=emblem-downloads --progress
    Merci pour votre aide!

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    Citation Envoyé par PopCorn78 Voir le message
    Voici le petit script que j'ai commencé a faire. ma boucle While ne fonctionne pas je ne connais pas tellement sa syntaxe. et d'autre part je ne sais pas non plus comment faire comprendre a mon YAD le pourcentage achevé du programme ..
    Et oui. Tu n'as fait ni la boucle, ni la barre, et tu voudrais que developpez.com fasse tout.
    Ce n'est pas le genre de la maison.


    je ne sais pas non plus comment faire comprendre a mon YAD le pourcentage achevé du programme
    C'est à toi de le calculer.


    Je ne pratique pas yad. Je suis plus zenity. Voilà un exemple pour t'inspirer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #!/bin/bash
    (
    echo "10" ; sleep 1
    echo "# Mise à jour des journaux de mail" ; sleep 1
    echo "20" ; sleep 1
    echo "# Remise à zéro des paramètres" ; sleep 1
    echo "50" ; sleep 1
    echo "Cette ligne est ignorée" ; sleep 1
    echo "75" ; sleep 1
    echo "# Redémarrage du système" ; sleep 1
    echo "100" ; sleep 1
    ) |
    zenity --progress \
    	--title="Mise à jour des journaux système" \
    	--text="Analyse des journaux de mail..." \
    	--percentage=0
     
    if [ "$?" = -1 ] ; then
    	zenity --error \
    		--text="Mise à jour annulée."
    fi
    La ligne avec # change le texte de la boîte de progression et les lignes de nombres sont évidemment le pourcentage.

  6. #6
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Par défaut re:
    Je ne voulais en aucun cas manquer de respect a developpez.net merci pour ton aide je vais continuer a developper tout seul et posterai le script une fois résolu.
    Bien à toi,

  7. #7
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par PopCorn78 Voir le message
    je ne sais pas non plus comment faire comprendre a mon YAD le pourcentage achevé du programme
    Citation Envoyé par Flodelarab Voir le message
    C'est à toi de le calculer.
    Citation Envoyé par BufferBob Voir le message
    le tout étant de savoir au départ combien de fichiers vont être copiés
    /me sifflote..

    Citation Envoyé par PopCorn78 Voir le message
    Je ne voulais en aucun cas manquer de respect a developpez.net
    c'est un peu fort à mon avis, il n'est pas question de manque de respect, juste de s'assurer que t'es pas dans une position attentiste pour qu'on fasse le boulot à ta place, mais regarde que Flodelarab finalement a pris la peine de te faire un exemple sur mesure dont tu peux t'inspirer

    un autre exemple pour la route, on considère qu'on veut copier tous les fichier* depuis le répertoire src/ vers le répertoire dst/ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    nbFic=$(printf "%s\n" src/fichier* | wc -l)
    step=$(( 100 / nbFic ))
     
    {  for fic in src/fichier*; do
          echo "copie du fichier $fic" >&2
          ((num+=1))
          echo "$(( step * num ))" >&1
          cp -a $fic dst/
       done
       echo "100"
    } | zenity --progress
    la difficulté risque plutôt d'être de parvenir à stoper ton tail -f au bout de X fichiers, une fois arrivé à 100%

Discussions similaires

  1. Barre de progression yad/zenity
    Par bbandy35 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 17/05/2016, 16h28
  2. Réponses: 13
    Dernier message: 03/04/2014, 21h00
  3. Réponses: 12
    Dernier message: 27/05/2004, 00h13
  4. [DEBUTANT] Barre de progression
    Par pupupu dans le forum MFC
    Réponses: 4
    Dernier message: 18/01/2004, 16h47
  5. [web] Barre de Progression ASCII
    Par Red Bull dans le forum Web
    Réponses: 13
    Dernier message: 05/06/2003, 12h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo