相关疑难解决方法(0)

grep 可以只输出匹配的指定分组吗?

说我有一个文件:

# file: 'test.txt'
foobar bash 1
bash
foobar happy
foobar
Run Code Online (Sandbox Code Playgroud)

我只想知道“foobar”后面出现什么词,所以我可以使用这个正则表达式:

"foobar \(\w\+\)"
Run Code Online (Sandbox Code Playgroud)

括号表示我对 foobar 后面的单词特别感兴趣。但是当我执行 a 时grep "foobar \(\w\+\)" test.txt,我得到了与整个正则表达式匹配的整行,而不仅仅是“foobar 之后的单词”:

foobar bash 1
foobar happy
Run Code Online (Sandbox Code Playgroud)

我更希望该命令的输出如下所示:

bash
happy
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉 grep 只输出与正则表达式中的分组(或特定分组)匹配的项目?

grep text-processing regular-expression

442
推荐指数
7
解决办法
49万
查看次数

标签 统计

grep ×1

regular-expression ×1

text-processing ×1