Diyelim ki bir dosyam var:
# file: 'test.txt'
foobar bash 1
bash
foobar happy
foobar
Sadece "foobar" dan sonra hangi kelimelerin göründüğünü bilmek istiyorum, bu yüzden bu regex'i kullanabilirim:
"foobar \(\w\+\)"
Parantez, foobardan hemen sonra kelimeye özel bir ilgi duyduğumu gösteriyor. Ancak, bunu yaptığımda grep "foobar \(\w\+\)" test.txt
, yalnızca "foobar'dan sonraki kelime" yerine tüm regex ile eşleşen tüm satırları alıyorum:
foobar bash 1
foobar happy
Bu komutun çıktısının şöyle görünmesini çok isterdim:
bash
happy
Grep'e yalnızca gruplandırmaya (veya belirli bir gruplandırmaya) uyan öğeleri düzenli bir ifadeyle çıkarmasını söylemenin bir yolu var mı?
perl -lne 'print $1 if /foobar (\w+)/' < test.txt