salut
je veux parcourir un fichier log
et faire ressortir certaines de ces lignes dans un autre fichier
avec grep et awk c'est tout à fait possible et tres simple
genre pour un fichier comme celui-ci :
Code :
- toto; 321657132141; 678781414;
- toto; 567987654878; 987564015;
- tutu; 444; 4654654654654;
- titi; 44545; 654654;
- toto; 897965454544; 654231212;
|
pour avoir les lignes contenant toto ou titi, je fais
Code :
- grep 'toto|titi' mon-fichier > new-fichier
|
ou
Code :
- awk 'BEGIN {FS="; "} ($1 == "toto" || $1 == "titi" ) {print $0}' mon-fichier > new-fichier
|
jusque là tout va bien...
mais je voudrai pousser le truc un peu plus loin...
par exemple, ne pas récupérer une ligne contenant le mot "toto" si la ligne précédente contenait le mot "toto" et a déjà été récupérée...
je sais pas si je suis clair..
dans mon exemple, le fichier résultat ressemblerai à ceci :
Code :
- toto; 321657132141; 678781414;
- titi; 44545; 654654;
- toto; 897965454544; 654231212;
|
je m'arrache les cheveux..
je ne sais même pas faire une simple boucle sur chaque ligne du fichier, mettre cette ligne dans une variable, et la comparer à la ligne suivante... ce serai peut-être la solution, mais je ne sais comment faire...
un grand merci et toute ma reconnaissance à celui ou celle qui me permettra d'avancer !
Message édité par ouf le 05-02-2004 à 17:42:29