列出所有正则表达式匹配项,每行输出一个

列出所有正则表达式匹配项,每行输出一个

我知道我可以使用 找到正则表达式匹配egrep

我的需求有点深奥:

我需要列出所有正则表达式匹配,每行输出一个。

因此,假设一个文件包含以下内容:

This is just some sample 1text to illustrate the 2text seeker I had in mind.
As you can see in this 3text, I have many 4text matches, more than one 5text match per line of 6text.

使用正则表达式 // [0-9]+text,我希望输出为:

1text
2text
3text
4text
5text
6text

除了拼凑一个程序来完成这项工作之外,还有什么方法可以使用标准命令生成所需的输出?

答案1

egrep -o '[0-9]+text' filename

来自 egrep 手册页:

-o, --only-matching

仅打印匹配行中匹配的(非空)部分,每个部分位于单独的输出行上。

相关内容