0

テキストファイルには次のパターンがあります。

######################
# ADD=123 New Comment
######################

if ($ADD==123)

このうち、次の行は可変です

# ADD=124 Old Comment

if ($ADD==1234)

複数行のgrepingにpcregrepを試しましたが、正規表現が苦手です。このパターンを抽出する方法のポインタ。

[root@srv admin]# pcregrep -M '######################\n#*\n' text.php
4

2 に答える 2

1

sed付き:

sed -n '/###[#]*/,/if (\$ADD/{p}' input
于 2012-12-10T06:17:29.653 に答える
1
pcregrep -Mo '(?<=#)\s*ADD=1234' text.php

pcregrep -multiline -only、後ろを見て(最後の#を見つけるために)、次に任意の数のスペース、次に'ADD = 1234'(または'ADD = [[:digit:]] *'を実行できます)

お役に立てれば

于 2015-11-23T04:39:45.220 に答える