Katakanlah saya punya file:
# file: 'test.txt'
foobar bash 1
bash
foobar happy
foobar
Saya hanya ingin tahu kata-kata apa yang muncul setelah "foobar", jadi saya bisa menggunakan regex ini:
"foobar \(\w\+\)"
Tanda kurung menunjukkan bahwa saya memiliki minat khusus pada kata setelah foobar. Tetapi ketika saya melakukan grep "foobar \(\w\+\)" test.txt
, saya mendapatkan seluruh baris yang cocok dengan seluruh regex, daripada hanya "kata setelah foobar":
foobar bash 1
foobar happy
Saya lebih suka output dari perintah itu terlihat seperti ini:
bash
happy
Apakah ada cara untuk memberi tahu grep agar hanya menampilkan item yang cocok dengan pengelompokan (atau pengelompokan tertentu) dalam ekspresi reguler?
perl -lne 'print $1 if /foobar (\w+)/' < test.txt