Petit conseil [awk] - Shell/Batch - Programmation
Marsh Posté le 17-11-2007 à 14:30:32
Et quel est le "petit conseil" que tu souhaites? Le AWK qui fait ce que tu demandes?
Marsh Posté le 17-11-2007 à 14:35:29
sircam a écrit : Et quel est le "petit conseil" que tu souhaites? Le AWK qui fait ce que tu demandes? |
J'arrive à afficher le champ de la ligne 1 mais effectivement je ne sais pas tester et afficher le champ de la ligne 2
Marsh Posté le 17-11-2007 à 14:46:00
Redéfinis le séparateur de champ pour que ce soit le caractère point-virgule qui soit pris en compte, il te suffira ensuite d'afficher $3 si $2 == la valeur recherchée.
Marsh Posté le 19-11-2007 à 14:25:59
Voilà le résultat ; ça fonctionne mais il y a peut être mieux
awk -F ";" '
/^[0-9]/ {
key=$0
getline
if($3 == "111" )
print key";"$2
}
' $1
Marsh Posté le 17-11-2007 à 14:18:14
J'ai un fichier texte dont je veux extraire avec awk le champ de la ligne 1 (qui peut commencer par 0 ou 1 ou 2, ... 9) suivi du champ n°2 de la ligne 2 et ceci uniquement si le champ n°3 de cette même ligne est égale à '111'
Extrait du fichier d'entrée :
0001
champ1;champ2;222
1110
champ1;champ2;111
2228
champ1;champ2;111
3335
champ1;champ2;222
Fichier résultat :
1110;champ2
2228;champ2