以下のような入力ファイルFILE1.TXTがあります。
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
特定のIDに属するすべてのフィールドを検索して、NAMEの値を取得したい
各IDをループ処理して、必要に応じて各IDに対して以下のコマンドを作成しました。
sed -n '/11/,/14/p' FILE1.TXT | grep NAME | awk -F "= " '{print $2}'
ここでの問題は、出力NAME1を取得し、それに加えてNAMEXYZも取得することです。
NAME1のみを取得し、NAMEXYZを取得しないようにするには何を変更する必要がありますか?
回避策として、以下のコマンドが機能します。
sed -n '/11/,/14/p' FILE1.TXT | grep NAME | awk -F "= " '{print $2}'|head -1
「スイッチ」はありますか、それとも何か不足していますか?
^(random no of spaces)11
ますか?