我需要使用3个连续的空行作为匹配模式。以下示例在" rain"之间有3个空行。和" sun"。
示例:
cat
flower
rabbit
grass
rain
sun
以下代码无效:
/\n\n\n/ {print "3 consecutive empty lines found"}
或者
/^$\n^$\n^$\n/ {print "3 consecutive empty lines found"}
或
/^$^$^$/ {print "3 consecutive empty lines found"}
或者
/'^$'\n'^$'\n'^$'\n/ {print "3 consecutive empty lines found"}
我的bash版本是3.2
答案 0 :(得分:3)
以下内容可能有所帮助:
awk '/^$/{if(++i>2){print "3 consecutive empty lines found";exit}}/./{i=0}'
使用/^$/
我们计算连续空行的数量。如果我们找到带有/./
的非空行,我们将计数器设置为零。如果计数器达到3,我们打印我们的消息并退出。
答案 1 :(得分:0)
你可能只需要(使用GNU awk进行多字符RS):
BEGIN{RS="^$"} /(^|\n)\n\n\n/ {print "3 consecutive empty lines found"}
但没有向我们展示那只是猜测的预期输出。