我正在使用Ubuntu 14.04。 在一个目录中,我有大约 12,00,000 张图像。 图像以升序数值命名,例如:
1234567890.jpg
1234567891.jpg
....
1245367890.jpg
我相信,这些图像是按名称排序的。 但是我运行来处理图像的程序会随机获取文件。 这使我相信该特定文件夹中的文件不是按名称排序的,而是按复制到服务器的时间排序的,或者可能是按其大小排序的。
如何在 Ubuntu 中设置要命名的目录的默认文件排序参数?
这个问题中几乎没有信息可以作为答案的基础,所以既然你在这里使用Unix和LinuxSE,我假设你指的是shell脚本。如果您想提供更多细节,可能会有更有针对性的答案。
在 shell 脚本中,您通常会使用通配符遍历目录条目,该通配符根据您的区域设置(通常按字母数字)隐式对文件进行排序:
for item in *; do echo "Got $item"; done
ls
程序还具有内置的排序功能,但您可以使用-f
标志禁用此功能(请参阅man ls
):
ls -f
find
命令遍历未排序的目录,如果需要,用户可以对输出进行排序:
find . -maxdepth 1
以编程方式,您或您的库将使用opendir(3)
和readdir(3)
,它们对未排序的目录条目进行操作。
实际上并没有向目录本身添加排序标准的概念(尽管我相信某些文件系统确实更喜欢排序目录)。