Probleme syntaxique avec AWK

Doudoud Gueye -  
M&M Messages postés 5058 Statut Contributeur -
Je suis entrain de faire un script . J utilise la commande AWK. Je recherche dans un fichier tous les enregistrements dont le troisieme champ est egal a une certaine valeur qui est dans une variable. J ai un probleme avec la syntaxe. Je donne ce que j ai fait:
awk \'{print $3 ~ /$fic/}\' ms9556813

avec fic=9563487

2 réponses

  1. M&M Messages postés 5058 Statut Contributeur 669
     
    Désolé, dans l'expression régullière tu ne peux pas y taper ta variable. Le dollar représente la fin de ligne et cela ne veut rien dire.

    Tu pourrais lancer tout simplement
    awk $3~/^ms9556813$/ fichier.input

    comme tu pourrais développer un programme filtre.awk
    BEGIN {print "Recherche de ms9556813\n-----------------------\n";}
    $3 ~ /^ms9556813$/ {print; n++}
    END { printf "\nNous avons trouvé "n" occurence%s\n",(n<2)?"":"s";}

    et l'appeler avec
    awk -f filtre.awk Données.lst

     :,§_ ç _
    (@)=(@)
    0
  2. M&amp;M Messages postés 5058 Statut Contributeur 669
     
    Est-ce que cela t'a aidé ?
    C'est marrant, awk, non ?
     :,§_ ç _
    (@)=(@)
    0