linux:tree -i -f -L $depth 应该比 find -maxdepth $depth 快吗?

719*_*016 5 linux unix grep find tree

我正在查询特定目录以查看是否在其中找到具有特定模式的文件,并且我一直在尝试使用两个不同的命令:

标准find命令:

find -L $unix_dir\*/ -maxdepth $maxdepth -name \"$filepattern\"
Run Code Online (Sandbox Code Playgroud)

和一个treegrep命令替换:

tree -L $maxdepth -l -i -f $unix_dir*/ | grep '$filepattern'
Run Code Online (Sandbox Code Playgroud)

出于某种原因,第二个应该更快吗?我发现它有时更快,但有时与另一个命令一样快,我不确定两者背后的理论是什么。有任何想法吗?

Zhe*_*hen 0

该命令find将更多字符写入屏幕,因为它始终写入文件的完整路径。此外,find 命令中与文件模式的比较可能会更长(取决于实现)。例如,用伪代码:

  • 寻找

    • 提取文件名
    • 将文件名与文件模式进行比较
    • 将文件名与文件模式进行比较