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 :

Récupérer une information dans l'affichage d'une commande


Sujet :

Shell et commandes GNU

  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Par défaut Récupérer une information dans l'affichage d'une commande
    Bonjour à tous,

    la commande unsquashfs retourne une barre de progression en pourcentage. j'aimerais pouvoir récupérer la valeur du pourcentage dans un fichier.
    j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unsquashfs -f -d "/dev/sdc1" "file.sfs" >/home/user/progression
    mais ca me retourne carrément toute la barre de la progression : or moi je veux juste la valeur du pourcentage ici 2.
    savez vous comment réaliser cette tache ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 128
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 128
    Par défaut
    Citation Envoyé par cosmoff Voir le message
    savez vous comment réaliser cette tache ?
    Oui !

    D'abord en mettant un trait d'union sinon ce n'est pas français et donc ça ne veut rien dire --> savezvous comment...

    Ensuite, il y a plusieurs manières de réaliser une tache :
    • en se coupant, mais le sang c'est difficile à faire partir ;
    • en agitant la bouteille de ketchup ouverte, ça c'est bien, surtout si chemise blanche ;
    • en se traînant sur la pelouse ;
    • en pataugeant dans la boue ;
    • en faisant de la mécanique ;
    • etc.


    Désolé, pas pu résister,

    Sinon, tu peux regarder du côté de cut, sed, awk...

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    Bonjour,

    j'ai un doute sur la validité de la démarche.

    quelles sont tes intentions, au final ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre très actif
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Par défaut
    Le but final est d'afficher sur une interface graphique l'avancement de la progression

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    je reste dubitatif quant à l'utilité du fichier; surtout pour du "temps réel".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    squashfs ... | sed 's/.* \([0-9]\+\)%$/\1/'
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    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,

    ou aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <commande> | grep -Po "\d+%"

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

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

    N_BaH a raison. Mettre un indicateur dynamique dans un fichier figé est bizarre. Ton fichier va être rempli de caractères \r.

    Si tu veux personnaliser la barre de progression, il va te falloir la recréer. Sportif.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i=0; while [ $i -lt 12 ];do echo -ne "\r$i%"; sleep 1; i=$((i+1));done; echo

  8. #8
    Membre très actif
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Par défaut
    je ne vois pas comment je peux faire autrement pour récupérer la progression de la copie du fichier file.sfs. Si vous avez des idées je les écoute. A noter que l'interface se fera en Qml

  9. #9
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 128
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 128
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    N_BaH a raison. Mettre un indicateur dynamique dans un fichier figé est bizarre. Ton fichier va être rempli de caractères \r.
    Effectivement, cette tâche ferait tache, c'est le cas de le dire,

    Citation Envoyé par Flodelarab Voir le message
    Si tu veux personnaliser la barre de progression, il va te falloir la recréer. Sportif.
    Sportif ?
    Pourquoi ne pas écrire la valeur extraite (sans le "%") dans un fichier avec commande > dossier/$i, à charge pour l'ihm de le supprimer une fois lu.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i=0; while [ $i -lt 3 ];do echo -ne "\r$i" > $i; sleep 1; i=$((i+1));done; echo

  10. #10
    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
    l'IHM ça peut aussi bien être des outils comme {x,}dialog, zenity etc.

    un bête exemple avec whiptail en l'occurrence et wget pour le pourcentage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    wget -O - https://speed.hetzner.de/100MB.bin 2>/dev/stdout 1>/dev/null \
    | grep --line-buffered -Po "\d+(?=%)" \
    | whiptail --gauge "Downloading..." 6 100 0

  11. #11
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 260
    Par défaut
    Essayes d’envoyer un signal USR1 via la commande kill au process, ça te retournera peut-être quelque chose. Ca marche pour dd.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

Discussions similaires

  1. [AC-2013] Affichage d'une information dans formulaire
    Par help44 dans le forum Access
    Réponses: 1
    Dernier message: 23/06/2015, 09h39
  2. Affichage d'une liste dans JSP à partir d'une requête HQL
    Par samirmember dans le forum Hibernate
    Réponses: 23
    Dernier message: 28/12/2011, 22h34
  3. [XL-2003] Extraire une information dans le contenu d'une cellule
    Par drymogan dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/08/2010, 13h48
  4. Réponses: 2
    Dernier message: 23/05/2010, 12h45
  5. Réponses: 3
    Dernier message: 10/04/2008, 13h50

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