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 :

Extraire une valeur avec grep ?


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 125
    Par défaut Extraire une valeur avec grep ?
    Bonjour,

    Je cherche à extraire une variable proprement d'une ligne retournée par une commande. Pour l'exemple avec la commande j'ai ça en retour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Filesystem      Size  Used Avail Use% Mounted on
    rootfs          7.3G  4.5G  2.5G  65% /
    /dev/root       7.3G  4.5G  2.5G  65% /
    devtmpfs        215M     0  215M   0% /dev
    tmpfs            44M  228K   44M   1% /run
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs            88M     0   88M   0% /run/shm
    /dev/mmcblk0p1   56M   20M   37M  36% /boot
    Sachant que, par exemple je veux juste récupérer la valeur 7.3 de la première ligne, je peut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df -h | grep 'rootfs' | cut -c 17-19
    et ça va marcher. Seulement si par exemple cette valeur vient à passer de 7.3 à 128.9, ça va me récupérer la bonne valeur en entier ou ça va la tronquer ? Y a t'il une méthode plus propre de faire ?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    au lieu de cut

  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
    c'est un peu court, et ça pourrait inciter à l'utiliser derrière grep
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df -h | awk '/^rootfs/{print $2}'
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 125
    Par défaut
    Merci à vous deux

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Par défaut
    Peut être ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df -h /dev/root --output=size | tail -n 1

  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
    Citation Envoyé par ctac_ Voir le message
    Peut être ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df -h /dev/root --output=size | tail -n 1
    c'est pas tout à fait la même chose, là on récupère des espaces éventuels devant la valeur et un retour chariot à la fin, selon ce qu'on en fait ensuite ça peut être plus gênant qu'autre chose, mais +1 pour l'option oubliée de df

    edit: pour la frime et avec l'énoncé tel qu'il est présenté (à savoir récupérer "7.3" et non "7.3G") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df -h | grep -Po "^rootfs\s+\K[\d.]+"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Extraire une valeur d'un champ text avec condition
    Par yoyo-tns dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 03/12/2012, 23h05
  2. [XL-2007] Extraire une valeur avec la ligne et la colonne
    Par helkøwsky dans le forum Excel
    Réponses: 6
    Dernier message: 30/04/2009, 11h42
  3. [TP] Afficher une valeur avec outtext
    Par Bouilla dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 06/03/2005, 09h57
  4. Extraire une valeur d'une ligne avec sed
    Par jojolepabo dans le forum Linux
    Réponses: 6
    Dernier message: 27/10/2004, 09h34
  5. Retourner une valeur avec une fonction
    Par stephtbest dans le forum ASP
    Réponses: 4
    Dernier message: 31/10/2003, 16h37

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