Tôi có một tệp đầu vào FILE1.TXT như dưới đây.
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
Tôi muốn tìm kiếm tất cả các trường thuộc về một Id cụ thể và nhận giá trị cho NAME
Tôi quản lý để lặp qua từng Id và hình thành lệnh dưới đây cho mỗi Id theo yêu cầu.
sed -n '/11/,/14/p' FILE1.TXT | grep NAME | awk -F "= " '{print $2}'
Vấn đề ở đây là, tôi nhận được đầu ra NAME1 , ngoài ra, tôi cũng nhận được NAMEXYZ .
Nên thay đổi cái gì để tôi chỉ nhận được NAME1 chứ không phải NAMEXYZ ?
Như một giải pháp thay thế, các lệnh dưới đây hoạt động.
sed -n '/11/,/14/p' FILE1.TXT | grep NAME | awk -F "= " '{print $2}'|head -1
Có bất kỳ 'chuyển đổi' hoặc tôi đang thiếu một cái gì đó?
^(random no of spaces)11
?