使用“grep”搜索文件夹名称

8 search bash shell grep

使用 grep 时,您可以搜索特定的正则表达式,但只能在文件内搜索。有什么办法,我可以搜索文件夹名称吗?

AlG*_*AlG 17

我通常使用查找:

$ find . -name 'FolderBasename*' -type d
Run Code Online (Sandbox Code Playgroud)

或者对于更复杂的查询

$ find . -regex '{FolderRegex}' -type d
Run Code Online (Sandbox Code Playgroud)

正如评论中指出的那样,如果您想要不区分大小写的搜索,请执行 -iname 和 -iregex

  • `-name` 不使用正则表达式。如果你需要匹配一个正则表达式,你可能需要 `-regex` 或 `-iregex` (3认同)

小智 7

如果你真的是说正则表达式而不是 shellglob,你可能想要使用

find <path> -regex <regex> -type d

例如。

find Code/ -E -regex '(bin|redblack)_tree\.hs' -type d

该选项-E打开扩展正则表达式,请参阅man find了解更多信息。