具有多个目录的 find 命令

Isa*_*bel 1 bash find

允许多个目录并且应该find引用它们。

find "${dirlist[@]}" "${ftype[@]}" -type f  
Run Code Online (Sandbox Code Playgroud)

Kus*_*nda 6

是的,find允许您从一个或多个目录路径开始搜索(事实上,任何有效的路径名,它们并不严格需要是目录路径):

find dir1 dir2 dir3 -type f
Run Code Online (Sandbox Code Playgroud)

该命令将查找列出的三个目录中或下面的所有常规文件。

如果搜索路径列表保存在数组中(如您的问题所示),则应引用该数组扩展到目录路径列表的扩展。您显示的代码在这方面是正确的:

dirs=( dir1 dir2 dir3 )

find "${dirs[@]}" -type f
Run Code Online (Sandbox Code Playgroud)

我不确定你的ftype数组包含什么,所以我不会对此发表评论。如果它包含另一个目录列表,那么您就可以正确使用它,至少从看到那一行代码来看是正确的。

有关的: