Nói rằng tôi có một tập tin:
# file: 'test.txt'
foobar bash 1
bash
foobar happy
foobar
Tôi chỉ muốn biết những từ nào xuất hiện sau "foobar", vì vậy tôi có thể sử dụng regex này:
"foobar \(\w\+\)"
Dấu ngoặc chỉ ra rằng tôi có mối quan tâm đặc biệt đến từ này ngay sau foobar. Nhưng khi tôi làm một grep "foobar \(\w\+\)" test.txt
, tôi nhận được toàn bộ các dòng khớp với toàn bộ regex, thay vì chỉ "từ sau foobar":
foobar bash 1
foobar happy
Tôi rất thích rằng đầu ra của lệnh đó trông như thế này:
bash
happy
Có cách nào để nói với grep chỉ xuất ra các mục khớp với nhóm (hoặc một nhóm cụ thể) trong một biểu thức thông thường không?
perl -lne 'print $1 if /foobar (\w+)/' < test.txt