我在文本文件中有以下模式。
######################
# ADD=123 New Comment
######################
if ($ADD==123)
除此之外,以下几行是可变的
# ADD=124 Old Comment
if ($ADD==1234)
我尝试使用pcregrep进行多线greping,但我对正则表达式并不擅长。任何指针如何提取这种模式。
[root@srv admin]# pcregrep -M '######################\n#*\n' text.php
答案 0 :(得分:1)
使用sed:
sed -n '/###[#]*/,/if (\$ADD/{p}' input
答案 1 :(得分:1)
pcregrep -Mo '(?<=#)\s*ADD=1234' text.php
pcregrep -multiline -only,向后看(找到最后一个#),然后查看任意数量的空格,然后&#39; ADD = 1234&#39;(或者你可以做&#39; ADD = [[:位:]] *&#39)
希望这会有所帮助