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 :

Extraction et mise en argument


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut Extraction et mise en argument
    J'aimerais via une commande awk ou encore cut extraite un mot de ce fichier contenu par une commande listage :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    ****************************************************************
     
    Liste
    TYPE = XXXXXXX
     
            EX        =                                        YYYY
            VER	  =                                            S
            DATE      =                                     20160601
            HEURE     =                                       134701
     
            EX        =                                     CUTAFAAQ
            VER       =                                            X
            DATE      =                                     20160601
            HEURE     =                                       134701
     
    ****************************************************************
    j'aimerais récupérer la valeur suivante : CUTAFAAQ

    et la mettre en argument d'une seconde commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ps -edf|grep MS|grep CUTAFAAQ
    De mon côté j'ai réussi à obtenir uniquement la deuxième colonne avec cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LISTE /tmp/RESS|awk '{print $3}'
    mais j'obtiens ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    XXXXXXX
     
    YYYY
    S
    20160601
    134701
     
    CUTAFAAQ
    X
    20160601
    134701
    il faudrait que je parvienne à récupérer le mot : CUTAFAAQ et le mettre dans ma seconde commande.

    Si quelqu'un peut m'aiguiller.

    Merci d'avance.

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

    pourquoi est-ce cette valeur qui t'intéresse ?
    ou plutôt, comment la distingues-tu des autres ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par sam01 Voir le message
    j'aimerais récupérer la valeur suivante : CUTAFAAQ
    et la mettre en argument d'une seconde commande :

    ...

    il faudrait que je parvienne à récupérer le mot : CUTAFAAQ et le mettre dans ma seconde commande.
    Facile pour moi!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mot=$(LISTE /tmp/RESS|awk '{print $3}' | fgrep 'CUTAFAAQ')
    ps -edf|grep MS|grep "$mot"
    PS: je crois que c'est la meilleure réponse possible aux spécifications fournies par l'utilisateur!

    et j'ai le secret espoir qu'elle puisse l'aider à réfléchir à la qualité desdites spécifications.

  4. #4
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Merci Jack-ft, mais j'ai oublié une spécification justement

    La valeur CUTAFAAQ n'est pas toujours identique... Par contre elle est toujours au même endroit et toujours le même nombre de caractère.

    Je sais, ça complexifie le script...

  5. #5
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    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 349
    Par défaut
    Donc toujours la deuxième ligne 'EX =...' ?

  6. #6
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    oui c'est bien ça

  7. #7
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    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 349
    Par défaut
    Donc,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LISTE /temp/ress | awk '/EX *=/ && ++flag == 2 {print $NF}'
    devrait le faire.

Discussions similaires

  1. Extraction et mise en forme des données d'un tableau
    Par Patrice.peace dans le forum Langage
    Réponses: 1
    Dernier message: 23/03/2012, 22h17
  2. Mise à jour DataBase sur base du DataSet et Erreur Arguments trop nombreux
    Par Rifton007 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 26/03/2009, 20h55
  3. Réponses: 5
    Dernier message: 09/02/2009, 13h14
  4. [MySQL] Extraction champs puis mise à jour simultanée
    Par Antherak dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/09/2008, 15h03
  5. [VBA Excel] Extraction de données fichier txt vers Excel et mise en forme
    Par newcodeur dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/05/2008, 11h45

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