我试过了
grep -R '.*invalidTemplateName.*' -regex './online_admin/.*/UTF-8/.*'查找“.invalidTemplateName”中所有可能出现的数学模型。目录regex模式'./online_admin/.*/UTF-8/.*'中的regex,但它不起作用。我收到消息:
grep: ./online_admin/.*/UTF-8/.*: No such file or directory如果我用
grep -R '.*invalidTemplateName.*' .它在当前目录的所有子目录中查找,这是压倒一切的。如何在grep中指定目录模式?有可能吗?
发布于 2015-02-12 11:14:56
在这里,查找可能是一个更好的选择:
find ./online_admin/*/UTF-8/* -type f -exec grep -H "invalidTemplateName" {} \;“查找”将查找所需位置中的所有文件,包括UTF-8的子目录,然后对每个文件执行grep。-H参数确保将与匹配一起打印文件名。如果您只想要文件名,请使用-L开关。
发布于 2015-02-12 11:13:03
使用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中的第一级目录中查找。
https://stackoverflow.com/questions/28475711
复制相似问题