Ich habe eine Eingabedatei FILE1.TXT wie unten.
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
Ich möchte alle Felder durchsuchen, die zu einer bestimmten ID gehören, und den Wert für NAME erhalten
Ich habe es geschafft, jede ID zu durchlaufen und den folgenden Befehl für jede ID nach Bedarf zu bilden.
sed -n '/11/,/14/p' FILE1.TXT | grep NAME | awk -F "= " '{print $2}'
Das Problem hier ist, ich bekomme die Ausgabe NAME1 , zusätzlich bekomme ich auch NAMEXYZ .
Was sollte geändert werden, damit ich nur NAME1 bekomme, aber nicht NAMEXYZ ?
Um dieses Problem zu umgehen, funktionieren die folgenden Befehle.
sed -n '/11/,/14/p' FILE1.TXT | grep NAME | awk -F "= " '{print $2}'|head -1
Gibt es einen Schalter oder fehlt mir etwas?
^(random no of spaces)11
?