我想匹配这样的文字
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
所以我很困惑,有什么帮助吗?
要打印两个图案之间的线条,不包括包含图案本身的线条,请使用:
sed -n '/my begin line/,/my end line/ {/my begin line/n;/my end line/!p}' file
你可以用 sed 做到这一点:
sed -n '/my begin line/,/my end line/p'
您在评论中提到了 awk:
这给了你所有的文本,(包括带开始、结束模式的行)
awk '/my begin line/,/my end line/' file
这只为您提供了开始/结束模式之间的线条(没有带开始、结束模式的线条)
awk '/my begin line/{f=1;next;}/my end line/{f=0}f' file