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ération de la valeur de la taille du disque


Sujet :

Shell et commandes GNU

  1. #21
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par erwannoo Voir le message
    Intéressant !!!
    Le "$" placé à la fin de la string "/dev/mapper/VolGroup-lv_root" indique qu'il s'agit d'une ligne entière. La suite, à savoir la taille, le fs et le pourcentage, se trouvent sur la ligne suivante. Probablement pour aligner les colonnes à l'affichage.

    Donc normal que le grep te retourne seulement "/dev/mapper/VolGroup-lv_root" puisqu'il te retourne juste la ligne trouvée.

    Citation Envoyé par erwannoo Voir le message
    j'ai fait pas de mal tests non concluants avant de poster mon problème sur ce forum (différentes syntaxes, etc...).
    Ouais ben tu aurais fait seulement un df >/tmp/xxx puis serais allé regarder la tronche du fichier /tmp/xxx tu aurais trouvé immédiatement. Tu nous l'aurais fait ici, comme plusieurs fois demandé, on aurait trouvé aussi (et en apparté bien vu à disedorgue qui a proposé ce cat -A qui permet aussi de montrer le truc).
    Mais le pire, c'est que même pas tu as tilté sur le fait que le résultat du df était montré sur 2 lignes. Bravo pour tous tes tests et ta vivacité d'esprit
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut modération
    quand on présente un code ou le résultat d'une commande, il est préférable de poster un copier/coller plutôt qu'une capture d'écran inutilisable.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #23
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    il est préférable de poster un copier/coller plutôt qu'une capture d'écran inutilisable.
    Avouons toutefois que dans ce cas précis, c'est quand-même grâce à la capture d'écran (qui justement montre fidèlement le résultat sans qu'il soit passé par un copier/coller possiblement destructeur d'infos) qu'on peut voir le pourquoi du comment.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #24
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Il existe la commande xclip qui met le résultat d'une commande dans le presse-papiers et qui permet de coller le résultat où tu veux. De plus, toute sélection est un "copier".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df | grep /dev/mapper/VolGroup-lv_root | xclip
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #25
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2021
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2021
    Messages : 116
    Points : 49
    Points
    49
    Par défaut
    Merci tout le monde,

    j'ai enfin réussi à trouver le résultat voulu, avec la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    df | grep --after-context=1 /dev/mapper/volGroup-lv_root | awk '{print "HD_usage_p{M=\""used"\"}",$4}'
    Ces choses semblent certainement implicites, voir innées pour vous, mais ce n'est pas le cas de tous. D'où l'utilisation de ce forum.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Avouons toutefois que dans ce cas précis, c'est quand-même grâce à la capture d'écran (qui justement montre fidèlement le résultat sans qu'il soit passé par un copier/coller possiblement destructeur d'infos) qu'on peut voir le pourquoi du comment.
    les fins de lignes auraient toujours été marquées.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Citation Envoyé par erwannoo Voir le message
    Merci tout le monde,

    j'ai enfin réussi à trouver le résultat voulu, avec la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    df | grep --after-context=1 /dev/mapper/volGroup-lv_root | awk '{print "HD_usage_p{M=\""used"\"}",$4}'
    Ces choses semblent certainement implicites, voir innées pour vous, mais ce n'est pas le cas de tous. D'où l'utilisation de ce forum.
    "innées"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df | awk '/\/dev\/mapper\/volGroup-lv_root/{getline;print "HD_usage_p{M=\""used"\"}",$4}'
    on évite grep|awk, parce que awk sait faire ce que fait grep.

    Reste à déterminer le pourquoi de ce format (taille du terminal X ?...), et si une redirection préalable vers un fichier le "corrige".
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #28
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Citation Envoyé par erwannoo Voir le message
    (j'ai mis des valeurs bidons)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         /dev/mapper/VolGroup-lv_root                 7878 8787 8787  7%
         /dev/sda1                                        8787 7878 878787   3%
         /dev/mapper/VolGroup-lv_home     989 9899 989898  4%
    les fins de lignes auraient toujours été marquées.
    Vu le bonhomme, es-tu sûr de toi dans ce cas précis ?

    Citation Envoyé par N_BaH Voir le message
    "innées"
    Heureux de voir un autre que moi dire tout haut ce que moi (et j'imagine un grand nombre d'autres) pensent tout bas.

    Citation Envoyé par N_BaH Voir le message
    Reste à déterminer le pourquoi de ce format (taille du terminal X ?...)
    Ce n'est pas un souci de taille. Chez-moi je peux avoir un terminal ultra réduit, chaque périphérique est montré sur une ligne individuelle et d'ailleurs la taille du terminal n'a pas d'influence sur le cat -A qui a suivi le dernier essai.
    Comme je l'ai dit, je pense que c'est un souci d'alignement des colonnes. Comme "/dev/mapper/volGroup-lv_root" est un nom super long, pour avoir la seconde colonne au même niveau que les autres, le "df" est obligé de passer sur la ligne suivante.

    Citation Envoyé par N_BaH Voir le message
    et si une redirection préalable vers un fichier le "corrige".
    Si mon hypothèse est correcte, alors cela ne changera rien.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Comme "/dev/mapper/volGroup-lv_root" est un nom super long, pour avoir la seconde colonne au même niveau que les autres, le "df" est obligé de passer sur la ligne suivante.
    ok, je n'avais pas compris.

    l'option --portability peut-elle améliorer la sortie ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  10. #30
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    Et puisque le but n'est que de retourner une seule valeur ... comme indiqué par Sve@r, il est possible de passer les paramètres directement à df (cela va corriger cette erreur due à la taille de la sortie ?)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df /dev/mapper/VolGroup-lv_root --output="used" | sed 1d
    todo: forcer un format
    $moi= ( !== ) ? : ;

  11. #31
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 286
    Points : 12 742
    Points
    12 742
    Par défaut
    Sinon, comment ramener la ligne après la recherche sur le même niveau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ echo -e 'toto et\ntiti va a la plage' | grep toto 
    toto et
    $ echo -e 'toto et\ntiti va a la plage' | grep toto -A1
    toto et
    titi va a la plage
    $ echo -e 'toto et\ntiti va a la plage' | grep toto -A1 | paste -d" " - -
    toto et titi va a la plage
    Cordialement.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/11/2005, 15h03
  2. récupération d'une valeur dans une variable
    Par jh0483 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/08/2005, 09h49
  3. Récupération de la valeur d'une auto-incrémentation
    Par maldufleur dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/07/2005, 16h50
  4. Récupération de la valeur d'un champ au nom variable
    Par Oluha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/02/2005, 15h13
  5. Récupération de la valeur visible d'une Liste déroulante
    Par Yaz dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/10/2004, 12h01

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