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

Unix Discussion :

Récupérer une donnée via le résultat d'une commande


Sujet :

Unix

  1. #1
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut Récupérer une donnée via le résultat d'une commande
    Bonjour

    En sortie d'une commande, j'obtiens ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "instanceName":"urxvt","borderWidth":2,"state":"pseudo_tiled","lastState":"tiled"
    Je souhaite récupérer uniquement: pseudo_tiled avec un grep mais je n'y parviens pas

    Un petit idée, s'il vous plaît ? Merci
    .Olivier

  2. #2
    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 458
    Points
    13 458
    Par défaut
    Bonjour

    Grep filtre généralement les lignes.
    Donc on peut douter que ce soit l'outil idoine.
    À moins que tu utilises l'option "-o".
    Mais il faudrait alors que ton champ ait un motif particulier. Ce dont on peut douter.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ grep -o "\"pseu.._.iled\"" fichier
    "pseudo_tiled"

    Sinon, utilise plutôt awk :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ awk -F'[:,]' '{print $6;}' fichier
    "pseudo_tiled"
    Dis-donc, ton fichier, ne serait-il pas un fichier structuré (du genre JSON) ?
    Alors utilises l'outil adéquat pour la structure (du genre jq) ...
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Dis-donc, ton fichier, ne serait-il pas un fichier structuré (du genre JSON) ?
    Alors utilises l'outil adéquat pour la structure (du genre jq) ...
    En effet et c'est plus pratique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bspc query -T -n | jq '.client.state'
    me retourne bien
    Merci beacoup
    .Olivier

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/03/2017, 02h59
  2. Réponses: 10
    Dernier message: 18/02/2016, 13h21
  3. Réponses: 6
    Dernier message: 24/02/2014, 15h55
  4. Réponses: 2
    Dernier message: 16/08/2012, 10h28
  5. Réponses: 15
    Dernier message: 20/06/2006, 10h29

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