J'ai un fichier d'entrée FILE1.TXT comme ci-dessous.
11 id1
12
13 AGE = 20
14 NAME = NAME1
15
16 id2
17
18 AGE = 30
19 NAME = NAME2
.
.
.
110 idXYZ
111
112 AGE = AGEXYZ
113 NAME = NAMEXYZ
114
115 idZZZ
116
Je souhaite rechercher tous les champs qui appartiennent à un identifiant particulier et obtenir la valeur de NAME
J'ai réussi à parcourir chaque identifiant et à former la commande ci-dessous pour chaque identifiant selon les besoins.
sed -n '/11/,/14/p' FILE1.TXT | grep NAME | awk -F "= " '{print $2}'
Le problème ici est que j'obtiens la sortie NAME1 , en plus de cela, j'obtiens également NAMEXYZ .
Que faut-il changer pour ne recevoir que NAME1 mais pas NAMEXYZ ?
Comme solution de contournement, les commandes ci-dessous fonctionnent.
sed -n '/11/,/14/p' FILE1.TXT | grep NAME | awk -F "= " '{print $2}'|head -1
Y a-t-il un «commutateur» ou est-ce que je manque quelque chose?
^(random no of spaces)11
?