我有一个输入文件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
?