[英]How to use grep to find in a directory by a regex?
我试过了
grep -R '.*invalidTemplateName.*' -regex './online_admin/.*/UTF-8/.*'
查找所有可能的数学运算符。 invalidTemplateName。 目录正则表达式模式'./online_admin/.*/UTF-8/.*'
regex,但它不起作用。 我收到消息:
grep: ./online_admin/.*/UTF-8/.*: No such file or directory
如果我用
grep -R '.*invalidTemplateName.*' .
它在当前目录的所有子目录中查找。 如何在grep中指定目录模式? 可能吗?
在这里查找可能是一个更好的选择:
find ./online_admin/*/UTF-8/* -type f -exec grep -H "invalidTemplateName" {} \;
查找将在所需位置找到所有文件,包括UTF-8
子目录,然后在每个文件上执行grep
。 -H
参数确保文件名将与匹配项一起打印。 如果只需要文件名,请使用-L
开关。
find
您可以执行以下操作:
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
为好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.