这里有一个commands.txt中的文件:如何使用sed/regex查找最后一个多行匹配?
START - 'cmd1'
results1a
results1b
results1c
END - 'cmd1'
START - 'cmd2'
results2a
results2b
END - 'cmd1'
START - 'cmd1'
results1d
results1e
results1f
END - 'cmd1'
这是我到目前为止有:
cat commands.txt | sed -n 's/^START - '"'"'(cmd1)'"'"'$/\1/p'
,输出是
cmd1
cmd1
我所要的输出是什么是
results1d
results1e
results1f
我还没有想出如何获得多行匹配。
你的正则表达式明确地捕捉'cmd1'然后使用该作为替换,这可以解释当前的行为。 – Vache