如何在特定文件夹中“查找”而不在递归搜索中移动当前文件夹?

时间:2014-02-05 17:37:26

标签: bash shell find sh zsh

在shell中,我一直在使用find命令和-path SomePath之类的参数来查找某些路径中的文件,例如:

find . -name '*some_pattern*' -path a_subfolder

从包含大量内容的文件夹开始,它似乎在遍历整个树,只返回它在a_subfolder中找到的匹配项。这当然是非常不受欢迎的,因为它花费大量时间在树上行走,而不是直接转到-path参数定义的路径。

我可以将几个查找串在一起并在每个文件夹中找到具体的内容,但我更愿意使用一个内聚find命令来有效地遍历已定义的树并避免当前路径中所有多余的其他路径。

如何限制find在定义的路径中专门搜索与目前的工作方式相比?

2 个答案:

答案 0 :(得分:1)

  

如何限制查找在定义的路径中专门搜索

只需提供预定义的路径列表即可找到第一个参数:

find {my/path,another/path,some/path} -name '*some_pattern*'

答案 1 :(得分:0)

subfolder中搜索some_pattern而不递归:

$ find /path/to/subfolder -maxdepth 1 -name '*some_pattern*'