Bonjour,
Comment garder les variables après une concaténation de AWK dans une boucle ?
Le 3 premières commandes sont là que pour expliquer le fonctionnement de la dernière commande.
Exemple
Fichier d'entrée tmp.lst
1 2 3 4 5 6 7 8 9 10 11 12
| CC 22/04/2015 17:50 AAA140380170 OK 0 BB_4_1 batch
CC 22/04/2015 17:50 AAA140380176 OK 0 BB_7_1 batch
CC 22/04/2015 17:50 AAA140380178 OK 0 BB_4_1 batch
CC 22/04/2015 17:50 AAA140380184 OK 0 BB_8_1 batch
CC 22/04/2015 17:50 AAA140380186 OK 0 BB_5_1 batch
CC 22/04/2015 17:50 AAA140380187 OK 0 BB_1_1 batch
CC 22/04/2015 20:50 AAA140386716 OK 0 BB_2_1 batch
CC 22/04/2015 20:50 AAA140386717 OK 0 BB_3_1 batch
CC 22/04/2015 20:50 AAA140386718 OK 0 BB_4_1 batch
CC 22/04/2015 20:50 AAA140386719 OK 0 BB_2_1 batch
CC 22/04/2015 20:50 AAA140386720 OK 0 BB_3_1 batch
CC 22/04/2015 20:50 AAA140386722 OK 0 BB_4_1 batch |
cat tmp.lst |awk 'BEGIN {FS=" "} {print $4}'
AAA140380170
AAA140380176
AAA140380178
AAA140380184
AAA140380186
AAA140380187
AAA140386716
AAA140386717
AAA140386718
AAA140386719
AAA140386720
AAA140386722
cat tmp.lst |awk 'BEGIN {FS=" "} {print $7}'
BB_4_1
BB_7_1
BB_4_1
BB_8_1
BB_5_1
BB_1_1
BB_2_1
BB_3_1
BB_4_1
BB_2_1
BB_3_1
BB_4_1
cat tmp.lst |awk 'BEGIN {FS=" "} {print $4 "_" $7}'
AAA140380170_BB_4_1
AAA140380176_BB_7_1
AAA140380178_BB_4_1
AAA140380184_BB_8_1
AAA140380186_BB_5_1
AAA140380187_BB_1_1
AAA140386716_BB_2_1
AAA140386717_BB_3_1
AAA140386718_BB_4_1
AAA140386719_BB_2_1
AAA140386720_BB_3_1
AAA140386722_BB_4_1
for i in $( cat tmp.lst |awk 'BEGIN {FS=" "} {print $4 "_" $7}'|awk 'BEGIN {FS="_"} {print $2 $3}' ); do echo $i;done
BB4
BB7
BB4
BB8
BB5
BB1
BB2
BB3
BB4
BB2
BB3
BB4
A la suite de cette commande je souhaiterais faire une | grep en utilisant la variable $4 qui n'existe plus à la suite de la concaténation de AWK
Merci de votre aide
Partager