当找到匹配项时,我可以让 find 切换到下一个根目录吗?

当找到匹配项时,我可以让 find 切换到下一个根目录吗?

find程序有一个-quit命令行选项,它告诉它在找到匹配项并执行先前指定的命令(例如 )后立即退出-print。这非常有用,但是如果我find在多个根目录中,并且想要每个根目录中的第一个匹配项怎么办?

有没有一种说法可以这样说:

find foo bar baz -print -continue-with-next-root

?一些 shell 代码是可以的,但我想避免find对每个根文件夹单独调用。

答案1

硬着头皮find对每个根文件夹使用单独的调用。开销可以忽略不计,而且无论如何也没有这样的find选择,所以你不妨:

for dir in dir1 dir2 dir2 ... dirN; do
   find ... -quit
done

我真的不认为你会找到更好的解决方案。

相关内容