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 :

[awk] Commande unix dans une variable


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Par défaut [awk] Commande unix dans une variable
    bonjour ,

    j'aimerai stocker le résultat d'une commande unix dans une variable awk (je me répète dsl) le problème c'est que je ne vois pas comment faire ? surtout que je ne sais pas mm les gérer les guillemets et les entrecôtes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk -F\; '{if ($1~/^GROUPE/){groupe=substr($1,9);print "echo "'$groupe'"|commande unix"";"$2}else{print $0}}'
    merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Je te fais la même réponse que dans ton post
    http://www.developpez.net/forums/d13...emble-fichier/

    Exemple avec la commande shell date:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ awk 'BEGIN{ "date" | getline awkDateVar; print "La date passée à awk est: "awkDateVar}'
    La date passée à awk est: vendredi 2 août 2013, 13:09:59 (UTC+0200)

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    bonjour,

    Citation Envoyé par huître Voir le message
    surtout que je ne sais pas mm les gérer les guillemets et les entrecôtes
    Ben ça dépend comment tu les préfères : bleues, saignantes, à point ou bien cuites


  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Par défaut
    Je te fais la même réponse que dans ton post
    http://www.developpez.net/forums/d13...emble-fichier/
    oui effectivement je te remercie


    Ben ça dépend comment tu les préfères : bleues, saignantes, à point ou bien cuites

    mon ventre parle souvent à ma place dsl

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

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

    La réponse à la question brute serait d'exécuter la commande à l'extérieur, la mettre dans une variable et utiliser l'option '-v' de awk.



    Mais imaginons un cas où ton programme externe nécessite les champs $3 $5 et $8 de chaque enregistrement, tout en renvoyant une ligne. Dans awk, je ferais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    awk '{
     
     
    cmd="./mycommand.bin "$3" "$5" "$8" eventuallastparam"
    cmd | getline resultat
    close(cmd)
     
     
    }
    'resultat' contiendrait alors la ligne renvoyée.

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/12/2010, 12h18
  2. Réponses: 2
    Dernier message: 07/09/2010, 14h15
  3. Réponses: 6
    Dernier message: 23/07/2007, 21h56
  4. Résultat d'une commande DOS dans une variable
    Par tomix81 dans le forum Général Python
    Réponses: 2
    Dernier message: 18/05/2007, 11h02
  5. Réponses: 22
    Dernier message: 09/12/2005, 21h27

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