Bonjour,

je souhaitais faire un programme simple pour parser un fichier en ligne de commande sous Windows. Je suis tombé sur gawk qui semble avoir les mêmes fonctions que awk.
J'ai commencé par un test avant de compliquer, lire ligne par ligne un fichier texte et n'afficher que les lignes contenant "test" :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
code : BEGIN {} 
 
 
END {
for (i=0 ; i<NF ; i++) {
   toto = match($i, "test") 
   if (toto) 
      printf("%s",$i)
   } 
 
}
je lis le fichier ligne par ligne, je vérifie si on trouve le mot clé test et si oui j'affiche la ligne.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Texte :1abc1231dfdffdfd dfdfdfdf dezaedqsc test dssq]dsqdq
2zxs test dsqsdsfq dfqf q fdqs] 
3qfsdf
4qfdqxc
5test cxxc]
6abc123 6sdsq
7cxwxcxw
8testuoi]
9fdfdqfdqf
10dsffdfd  test dsd]sdss
11qfqffq qdsq qssq qf qsf qsf qf qsdrzadsqtestfgg]f
En lançant le programme, il ne m'affiche que la dernière ligne ? J'ai surement mal compris une chose mais je ne vois pas quoi.
Est-ce que vous pourriez m'apporter vos lumières.

Merci d'avance pour votre aide.