在多个目录中高效地找到第一个文件(按字典顺序排列)

在多个目录中高效地找到第一个文件(按字典顺序排列)

我有数百个文件夹,每个文件夹包含数千个文件。我想在所有文件夹中的所有文件中识别“第一个”文件,“第一个”由文件名(不包括路径)的字典顺序定义。例如:

/a/abc.txt
/b/aac.txt
/b/bxz.txt

那么结果应该是aac.txt

我目前正在使用这个:

find . -iname "*" -printf "%f\n" | sort | head

但是速度比较慢,有没有什么好的解决办法?

答案1

我认为你不能让它变得更快,因为你需要先得到find最长操作的输出,然后才能通过管道将它传输出去sorthead

find而且如果您甚至考虑将一些代码放在一起以使其运行得更快,我认为与编写它并使其比更高效所需的时间相比,使用所带来的改进(如果有的话)可以忽略不计find

除非你经常这样做,而且数据集非常庞大(数千个数据集也不算多),否则如果我是你,我不会花时间在这上面。

相关内容