0

我想匹配这样的文字

my  begin line
not useful text that I cannot match because I don't know how it is composed
my end line

我会匹配上面的所有文本,我现在的问题是我无法匹配所有文本,而只能匹配带有这样的正则表达式的第一行:

my begin line\n.*my end line

所以我很困惑,有什么帮助吗?

4

3 回答 3

1

要打印两个图案之间的线条,不包括包含图案本身的线条,请使用:

sed -n '/my begin line/,/my end line/ {/my begin line/n;/my end line/!p}' file
于 2013-03-04T17:45:50.077 回答
1

你可以用 sed 做到这一点:

sed -n '/my begin line/,/my end line/p'
于 2013-03-04T16:57:40.333 回答
1

您在评论中提到了 awk:

这给了你所有的文本,(包括带开始、结束模式的行)

awk '/my  begin line/,/my end line/' file

这只为您提供了开始/结束模式之间的线条(没有带开始、结束模式的线条)

awk '/my  begin line/{f=1;next;}/my end line/{f=0}f' file
于 2013-03-04T17:11:14.123 回答