我需要创建一个文件列表,这些文件位于我的硬盘上,按照它们到达硬盘的时间顺序排列。为此,我使用了以下内容:
ls -lat
按日期/时间顺序列出所有文件,但是,它只将它们排序到最接近的秒数。这里的问题是有成千上万的文件,而且每隔一段时间,其中一些文件会在同一秒内聚集在一起。我需要准确正确的顺序。我猜最简单的方法是将创建时间精确到毫秒(或纳秒)。为此,我尝试使用以下方法:
stat $myfile
查看修改时间,总是显示时:分:秒.00000000000。
有没有办法做到这一点? 谢谢, 瑞克
最佳答案
精度取决于您使用的文件系统,但即使使用 ext4 等高精度文件系统,stat 的标准实现也使用具有 1 秒分辨率的 time_t。
如果您可以访问生成所有这些文件的程序的源代码,请尝试将时间戳设置为文件名的一部分,然后按文件名而不是修改时间排序。
关于file - 在 Bash 中按创建时间排序文件到毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3814290/