2015-05-16 62 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中被指出是问题的根源。