当前位置: 首页 > 面试题库 >

如何在文件中搜索多行模式?

马琛
2023-03-14
问题内容

我需要找到所有包含特定字符串模式的文件。我想到的第一个解决方案是使用通过 xargs grep 传递的 find : __

find . -iname '*.py' | xargs grep -e 'YOUR_PATTERN'

但是,如果我需要找到跨越多行的模式,那我就陷入困境,因为香草grep无法找到多行模式。


问题答案:

因此,我发现 pcregrep 代表 Perl兼容正则表达式GREP

例如,您需要找到文件中 __name_ 变量后紧跟 __description_ 变量的文件:

find . -iname '*.py' | xargs pcregrep -M '_name.*\n.*_description'

提示:您需要在模式中包括换行符。根据您的平台,它可能是’\ n’,\ r’,’\ r \ n’,…



 类似资料:
  • > Eclipse 具有此功能,您可以在其中搜索文件夹中的任何文件。PhpStorm 中是否有这样的功能? 是否有缩进的快捷方式,如何自定义? 谷歌了一下,但没有结果。

  • 我正在使用Nest连接到ElasticSearch并执行一些查询。到目前为止,在给定一个通配符查询的情况下,我能够得到我想要的结果,如下所示: 但是现在我需要为某个用例的查询添加附加条件。 我需要的不仅是通过查询,还需要其他两个匹配的字段: 搜索术语"*" field 1="一些字符串" field="一些指南" 我确信在弹性搜索中一定有办法做到这一点(使用Nest),但我还没有找到它。 我知道我

  • 问题内容: 我第一次使用Postgresql,并且试图在我的网站中创建一个搜索引擎。我有这张桌子: 然后我为表的每个字段创建了一个索引(这是正确的方法吗?或者我可以为所有字段创建一个索引?): 现在,如果我想在每个索引中搜索一个单词,SQL查询是什么? 我尝试了这个,它的工作原理: 是否存在更好的方法来做到这一点?我可以搜索多个吗?我的一个朋友提出了一个解决方案,但这是针对MySQL数据库的: P

  • 问题内容: 我正在尝试在名为“ abc”的字段中搜索“ efg” c是Collection对象。我没有任何结果。我究竟做错了什么? 问题答案: 您正在生成,但查询应如下所示: 因此,尝试将代码更新为: 请记住,要使用搜索,您需要指定一个索引。查阅说明如何使用该文档的文档:http : //docs.mongodb.org/manual/reference/operator/query/text/

  • 问题内容: 我是Lucene的新手,在创建 用于查询文本文件集合的 简单代码时遇到一些问题。 我尝试了此示例,但与新版本的Lucene不兼容。 UDPATE: 这是我的新代码,但是仍然无法使用。 问题答案: Lucene是一个相当大的主题,涉及很多类和方法,通常您必须至少了解一些基本概念才能使用它。如果您需要快速可用的服务,请改用Solr。如果您需要对Lucene的完全控制,请继续阅读。我将介绍一

  • 我是这里的 unix/linux 新手..完全新手。 我想在Unix环境下搜索大(日志)文件。因此,我尝试使用grep命令 然而,它只是快速滚动,我看不到所有的事件。我看到它已经完成了……可能是用管道将“”命令与其他命令连接起来。但我不知道是什么。基本上,我希望能够运行一个命令,查看输出,并在查看找到的结果时自己滚动该输出。 请帮帮我。。