2015-05-16 100 views
1

我與文本的某些文件:在grep搜索中返回行嗎?

xxxxx 
xxxxx 
<cert> 
</cert> 
some other stuff 

如何搜索使用grep和忽略該行的回報? 我在同一個文件夾中有很多文件。 我都試過,但它似乎並沒有停止運行:

tr '\n' ' ' | grep '<cert></cert>' * 
+0

將您希望的輸出樣本輸入添加到您的問題中。 – Cyrus

+0

使用GNU grep來完成這項工作。 – Cyrus

回答

1

即尋找一個多行模式,這通常grep出現支持。有替代工具,例如,

然而,GNU的grep被所述,以支持這個問題,以及:

在模式中使用換行符。然而所用的選項包括 「實驗」 -P這可能使得不太適合比pcregrep

-P, --perl-regexp

解釋PATTERN作爲一個Perl正則表達式。這是高度 實驗和grep -P可能會警告未實現的功能。

-z, --null-data

對待輸入作爲一組線,由零 字節(ASCII NUL字符),每個封端的,而不是一個新行。像 -Z或--null選項一樣,該選項可以與 sort -z命令一起使用來處理任意文件名。

-o, --only-matching

僅打印匹配的(非空)的匹配線,與 上一個單獨的輸出線每一個這樣的部分的部分。

一些實驗選項是有用的,有些則不然。這一個在Searching for non-ascii characters中被指出是問題的根源。