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 POSIX Discussion :

comment extraire des informations d'un fichier en colonne


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Par défaut comment extraire des informations d'un fichier en colonne
    bonjour,

    comment extraire les information d'un fichier en colonne :

    fic1
    131 maisonP200
    211 batimentP300
    411 HLMP900
    231 cabaneP131

    j'aimerais faire une requette sur la première colonne du fichier afin qu'il puisse m'afficher les informations de la secondes colonnes :

    si je fais un : cat fic1 | grep 131 | nawk '{print $2}' cela va afficher toutes les occurrences 131 alors que je ne veux que les occurences correspondant à la premiere colonne

    donc le résultat attendu est seulement : maisonP200

    Help me....

  2. #2
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Par défaut
    je viens de trouver un élément de réponse mais je suis confronté à un autre pbl :

    cat caf | nawk '{if ($1 == 131) print $2}'

    cela fonctionne...

    mais je passe mon argument 131 dans une variable awk l'interprete comme une variable interne et cela ne fonctionne plus

    cat caf | nawk '{if ($1 == $var1) print $2}` ?????

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

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

    • La commande cat est inutile.
    • La commande grep suivie d'un awk est inutile.
    • Les variables entre 'quotes' ne sont pas interprétées. Si tu veux qu'elles le soient, utilise des "double quotes".
    • Pour passer une variable à awk on utilise l'option -v. Exemple:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      awk -v toto=$var1 '($1==toto){print $2;}' caf

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -v toto=$var1 '($1==toto){print $2;}' caf
    Juste une petite remarque, attention de ne pas remplacer nawk par awk sous Unix.

    Suivant la configuration et l'environnement utilisé, on risque d'exécuter l'ancienne version d'awk (oawk = old awk) avec laquelle beaucoup de choses ne passent pas, et en particulier l'option "-v toto=$var1"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ awk -v toto=$var1 '($1==toto){print $2;}' caf
    awk: syntax error near line 1
    awk: bailing out near line 1
    d'où:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ nawk -v toto=$var1 '($1==toto){print $2;}' caf
    maisonP200

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/03/2007, 14h43
  2. Réponses: 1
    Dernier message: 16/01/2007, 15h39
  3. Réponses: 2
    Dernier message: 20/10/2006, 10h49
  4. Comment extraire des infos d'un fichier Word ?
    Par Raoul d'Andrésy dans le forum VBA Word
    Réponses: 4
    Dernier message: 02/12/2005, 17h20

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