首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过regex在目录中使用grep查找?

如何通过regex在目录中使用grep查找?
EN

Stack Overflow用户
提问于 2015-02-12 10:59:46
回答 2查看 4.4K关注 0票数 2

我试过了

代码语言:javascript
复制
grep -R '.*invalidTemplateName.*' -regex './online_admin/.*/UTF-8/.*'

查找“.invalidTemplateName”中所有可能出现的数学模型。目录regex模式'./online_admin/.*/UTF-8/.*'中的regex,但它不起作用。我收到消息:

代码语言:javascript
复制
grep: ./online_admin/.*/UTF-8/.*: No such file or directory

如果我用

代码语言:javascript
复制
grep -R '.*invalidTemplateName.*' .

它在当前目录的所有子目录中查找,这是压倒一切的。如何在grep中指定目录模式?有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-12 11:14:56

在这里,查找可能是一个更好的选择:

代码语言:javascript
复制
find ./online_admin/*/UTF-8/* -type f -exec grep -H "invalidTemplateName" {} \;

“查找”将查找所需位置中的所有文件,包括UTF-8的子目录,然后对每个文件执行grep-H参数确保将与匹配一起打印文件名。如果您只想要文件名,请使用-L开关。

票数 5
EN

Stack Overflow用户

发布于 2015-02-12 11:13:03

使用find,您可以这样做:

代码语言:javascript
复制
find /abs/path/to/directory -maxdepth 1 -name '.*invalidTemplateName.*'

使用name参数,您可以直接按名称进行筛选。还可以对筛选字符串使用通配符。使用maxdepth参数,您可以指定递归级别来查找文件。1意味着在/abs/path/to/directory中查找,2意味着在/abs/path/to/directory中查找以及在/abs/path/to/directory中的第一级目录中查找。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28475711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档