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

Linux Discussion :

Passer des paramettres à AWK


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 74
    Points : 44
    Points
    44
    Par défaut Passer des paramettres à AWK
    fichier1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    1  toto1  adresse1 
    2  toto2  adresse2
    3  toto3  adresse2
    fichier2:
    resulatat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    1  toto1  adresse1 
    3  toto3  adresse2
    c.a.d avoir les lignes de fichier1 dont le 2 eme champ correspond au 1er champ du fichier2
    voilà ou je suis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #! /bin/sh
    for i in `cat fichier2`
     do
       awk '$2 ~ /system("`$i`")/ { print $0 }' fichier2
     done
    ça marche pas !!
    Merci

  2. #2
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    awk est il une contrainte forte ?

    Parce que dans le cas contraire, la structure que tu emploies est plus adaptée à l'usage d'un simple grep :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i in `cat fic2.txt`; do 
        grep $i fic1.txt
    done
    Te donne le résultat mentionné ... même si ce mode de recherche n'est pas forcément optimisé.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 74
    Points : 44
    Points
    44
    Par défaut
    la structure que tu emploies est plus adaptée à l'usage d'un simple grep :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for i in `cat fic2.txt`; do
     
        grep $i fic1.txt
    done
    fichier1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    1  toto1  adresse1 
    2  toto2  adresse2
    3  toto4  toto3
    fichier2:
    resulatat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    1  toto1  adresse1 
    3  toto4  toto3   // ne doit pas être figurer dans le resultat
    ça marche avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #! /bin/sh
    for i in `cat fichier2`
     do
       awk -v word=$i '$2 ~ word  { print $0 }' fichier2
     done

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

Discussions similaires

  1. passer des parametres à un script awk
    Par rodriguesk dans le forum Administration système
    Réponses: 1
    Dernier message: 14/03/2009, 18h33
  2. Réponses: 3
    Dernier message: 30/04/2007, 16h37
  3. Réponses: 5
    Dernier message: 08/03/2004, 10h28
  4. Passer des Image avec SOAP
    Par pef421 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 01/03/2004, 21h32
  5. [CR7][VB6] Passer des infos de Vb vers CR
    Par tripper.dim dans le forum SDK
    Réponses: 2
    Dernier message: 13/11/2003, 13h30

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