我想运行查找带有多种文件类型的-name.例如.
find -name *.h,*.cpp
Run Code Online (Sandbox Code Playgroud)
这可能吗?
Eri*_*son 88
$ find . -name '*.h' -o -name '*.cpp'
Run Code Online (Sandbox Code Playgroud)
要在man
页面中查找此信息,请man find
键入/OPERATORS
并按Enter 键键入并搜索运算符.
在.
不与GNU找到绝对必要的,但需要在Unix中.在任何一种情况下,引号都很重要,如果这些类型的文件出现在当前目录中,则将它们排除将导致错误.
在某些系统(例如Cygwin)上,必须使用括号来使扩展集包含在内:
$ find . \( -name '*.h' -o -name '*.cpp' \)
Run Code Online (Sandbox Code Playgroud)
Pie*_*ave 19
这就是我用的东西
find . \( -name "*.h" -o -name "*.cpp" \) -print
Run Code Online (Sandbox Code Playgroud)
小智 10
find . -name "*.h" -or -name "*.cpp"
Run Code Online (Sandbox Code Playgroud)
适合我.
小智 8
find . -name '*.h' -o -name '*.cc'`
Run Code Online (Sandbox Code Playgroud)
适用于搜索文件.
find . \( -name '*.h' -o -name '*.cc' \)`
Run Code Online (Sandbox Code Playgroud)
适用于对它们执行命令
find . \( -name '*.h' -o -name '*.cc' \) -exec egrep "#include" {} \; -print | egrep "^\."
Run Code Online (Sandbox Code Playgroud)
您还可以使用该-regex
实用程序:
find -E . -iregex ".*\.(js|jsx|html|htm)"
请记住,正则表达式会查看完整的绝对路径:
有关该正则表达式和测试用例的说明,请查看:https : //regex101.com/r/oY1vL2/1
-E
(作为路径之前的标志)启用扩展的(现代)正则表达式。
这用于BSD find
(Mac OSX 10.10.5)
这就是我使用的。我强烈推荐“-regextype posix-extended”参数。
find . -type f -iname "*.log" -o -iname "*.gz"
find . -type f \( -name "*.gz" -o -name "*.log" \)
find . -type f -regex '.*\(\.gz\|\.log\)'
find . -type f -regextype posix-extended -regex '.*.(log|gz)'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
61009 次 |
最近记录: |