说我有一个文件:
# file: 'test.txt'
foobar bash 1
bash
foobar happy
foobar
我只想知道“ foobar”之后出现的单词,因此可以使用此正则表达式:
"foobar \(\w\+\)"
括号表示我对foobar之后的单词有特别的兴趣。但是当我执行a时grep "foobar \(\w\+\)" test.txt
,我得到的行与整个正则表达式匹配,而不仅仅是“ foobar之后的单词”:
foobar bash 1
foobar happy
我更希望该命令的输出如下所示:
bash
happy
有没有办法告诉grep仅在正则表达式中输出与分组(或特定分组)匹配的项目?
perl -lne 'print $1 if /foobar (\w+)/' < test.txt