我有一个包含许多文件的目录。如果我通过 移动文件到子目录mv myfile.* ./subdirectory/
,会有大约 3 秒的延迟。然后文件被移动。
我怎样才能避免这种延迟?
背景是,我想对这个目录进行排序。因此,我编写了一个脚本来检查配置文件的内容,并将配置文件和其他 2 个文件移动到一个特殊的子目录。
我有一个包含许多文件的目录。如果我通过 移动文件到子目录mv myfile.* ./subdirectory/
,会有大约 3 秒的延迟。然后文件被移动。
我怎样才能避免这种延迟?
背景是,我想对这个目录进行排序。因此,我编写了一个脚本来检查配置文件的内容,并将配置文件和其他 2 个文件移动到一个特殊的子目录。
如果您有数十万个或更多文件,那么您看到的时间就是 shell 识别 glob 所有可能的扩展所需的时间
myfile.*
。这意味着它会查找以任意myfile.
数量的任何其他字符开头的所有文件名。因此,当您有很多文件时,这意味着需要检查很多文件并且会出现一些滞后。为了避免延迟,请使用实际的文件名:
mv myfile.whatever ./subdirectory/
. 如果这不是一个选项,并且您需要动态查找文件名,那么要么开始使用更多子目录,这样您的目录中就不会有太多文件,或者只是学会忍受等待。