2012-12-10 78 views
0

我在文本文件中有以下模式。使用pcregrep搜索模式

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

if ($ADD==123) 

出於這一點,下面的線是可變的

# ADD=124 Old Comment 

if ($ADD==1234) 

我嘗試了多greping pcregrep,但我不擅長用正則表達式。任何指針如何提取這種模式。

[[email protected] admin]# pcregrep -M '######################\n#*\n' text.php 

回答

1

隨着SED:

sed -n '/###[#]*/,/if (\$ADD/{p}' input 
+0

我的輸出應該像 ################# ## ### #ADD = 123新註釋 ###################### 如果($ ADD == 123) 此正則表達式顯示很多其他的東西。 – Rahul

+0

更新了正則表達式 – perreal

1
pcregrep -Mo '(?<=#)\s*ADD=1234' text.php 

pcregrep -multiline -only,向後看(找到最後#),然後任意數量的空格,然後點擊 '添加= 1234'(或你可以做 'ADD = [[:數字:]] *')

希望這有助於