小编Mik*_*yth的帖子

多行正则表达式(grep、sed、awk、perl)

我知道多行正则表达式已经讨论了几十次,但我无法让它与我的模式一起工作。

我会试着解释一下。我在一个目录中有一些文本文件。文件中的文本示例:

LINE OF TEXT 2
LINE OF TEXT 1
LINE OF TEXT 3

LINE OF TEXT 1
LINE OF TEXT 2
LINE OF TEXT 3

LINE OF TEXT 1
LINE OF TEXT 3

LINE OF TEXT 3
LINE OF TEXT 2
LINE OF TEXT 1

LINE OF TEXT 2
LINE OF TEXT 3
Run Code Online (Sandbox Code Playgroud)

我想找到在“LINE OF TEXT 2”之后的“LINE OF TEXT 3”,而后者又出现在“LINE OF TEXT 1”之后(中间没有空行)。

每行必须是一个正则表达式本身,例如一行以“LINE”开头并以特定数字结尾。

注意:并非所有文件都包含该确切的行序列,因此如果模式匹配,则不要打印模式,而只是将文件名打印到 STDOUT。

这可以在单行正则表达式中完成吗?因此,例如,awk 在文件中搜索模式,如果找到模式,则将文件名打印到 STDOUT。然后我可以将此正则表达式与“find -exec”结合使用。

任何提到的工具都可以使用(grep、awk、sed 或 perl)。

grep sed awk regular-expression

5
推荐指数
1
解决办法
1337
查看次数

标签 统计

awk ×1

grep ×1

regular-expression ×1

sed ×1