2012-03-30 50 views
3

我有一系列包含HTML註釋(<!-- some comment -->),我試圖用grep匹配HTML註釋使用grep和正則表達式

評論僅跨1跨線相匹配的文件。

這裏是我的命令

grep -rl '<!--.*?-->' ./ 

這並不匹配。但是,如果我運行grep這個正則表達式:

grep -rl '<!--.*?' ./ 

它的工作原理。

原來的正則表達式在javascript中工作,但由於某種原因,grep似乎並不喜歡它。

謝謝。

+0

是多行註釋? 「失敗」是什麼意思?它沒有找到所有帶有註釋的文件,或者它找不到任何匹配? – 2012-03-30 20:33:11

+0

我已經更新了我的回覆。 – Trevor 2012-03-30 20:33:25

+1

如果您使用'egrep',那麼該代碼應該可以工作。 – Moses 2012-03-30 20:37:48

回答

1

grep中的默認正則表達式引擎(POSIX basic)不支持?。這工作,因爲.也將匹配空間:

grep -rl '<!--.*-->' ./ 
+0

Grep也不會匹配跨線 – 2012-03-30 20:37:17

0

Egrep是另一種選擇。

egrep -r '<!--.*?-->' ./