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érer les données d'une colonne


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2011
    Messages : 176
    Par défaut Récupérer les données d'une colonne
    Bonjour,

    j'ai un fichier texte sous ce format
    num:1 blabla labla critère1
    num:2 blabla labla critère2
    num:3 blabla labla critère1
    je veux récupérer la liste des numéro dans chaque ligne selon un critère ,je récupère par exemple les données du critère 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat fichier.txt | grep "critère1"
    mais j'arrive pas à extraire les num
    Merci

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '/critère1/ { print $1 }' fichier

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2011
    Messages : 176
    Par défaut
    Merci pour la réponse,

    je veux récupérer que les numéros et non pas la première colonne,
    pour critère 1 , je veux avoir 1 et 3

  4. #4
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '/critère1/ { split($1,TAB,":"); print TAB[2] }'

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2011
    Messages : 176
    Par défaut
    Merci bien , cool

  6. #6
    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 zipe31 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '/critère1/ { split($1,TAB,":"); print TAB[2] }'
    Est-ce plus efficace que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fgrep 'critère1' | sed -e 's/^[^:]*:\([0-9]*\).*/\1/'
    ou, plus primitif:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fgrep 'critère1' | sed -e 's/num://' -e 's/ .*//'

  7. #7
    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
    Salut,
    Citation Envoyé par jack-ft Voir le message
    Est-ce plus efficace que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fgrep 'critère1' | sed -e 's/^[^:]*:\([0-9]*\).*/\1/'
    ou, plus primitif:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fgrep 'critère1' | sed -e 's/num://' -e 's/ .*//'
    En évitant le pipe sûrement, ou du moins équivalent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      sed -e '/critère1/ s/^[^:]*:\([0-9]*\).*/\1/' fichier
    Étant un adepte de sed, il est clair que ce fut ma 1ère idée, mais force est de constater que "awk" est tout de même plus adapté quand il s'agit de champs...

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

Discussions similaires

  1. Récupérer les données d'une colonne d'un tableItem
    Par Leniouns dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 19/06/2013, 14h01
  2. Réponses: 2
    Dernier message: 02/09/2011, 13h59
  3. Récupérer les infos d'une colonne de type DataSet
    Par Zugg dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/02/2006, 14h46
  4. Effacer toutes les données d'une colonne
    Par denisfavre dans le forum Access
    Réponses: 5
    Dernier message: 12/10/2005, 15h20
  5. Récupérer les données d'une iframe
    Par juli1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/02/2005, 22h53

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