使用 Linuxfind
命令-iname
选项,我想查找和移动具有许多不同扩展名 ( .pdf, .doc, .xlx, .ppt
) 的文件。我知道我可以将多种模式与grep
. 但这也可以做到find
吗?
是的,但不是-iname
独自一人。find
本身有一个“OR”:
expr1 -o expr2
Or; expr2 is not evaluated if expr1 is true.
Run Code Online (Sandbox Code Playgroud)
所以你可以这样做:
find /path/to/dir -iname '*.pdf' -o -iname '*.doc' -o -iname '*.xlx' -o -iname '*.ppt'
Run Code Online (Sandbox Code Playgroud)
请注意,如果您需要在任何这些配套文件(如中执行一些动作-exec
,-print
),或添加适用于额外的过滤所有的(如-type f
,如果你需要或者那些匹配),或者换句话说,并做/检查别的东西,因为 infind
像在许多其他语言中并且比or具有更高的优先级,你需要使用括号:
find /path/to/dir '(' -iname '*.pdf' \
-o -iname '*.doc' \
-o -iname '*.xlx' \
-o -iname '*.ppt' \
')' -type f -exec ls -ld {} +
Run Code Online (Sandbox Code Playgroud)