按创建时间将文件排序为Bash中的毫秒

Rik*_*son 5 bash date file

我需要创建一个文件列表,这些文件位于我的硬盘上,按照它们到达硬盘的顺序.为此,我使用了以下内容:

ls -lat
Run Code Online (Sandbox Code Playgroud)

它列出了日期/时间顺序中的所有文件,但是,它只将它们排序到最近的秒.这里的问题是有成千上万的文件,每隔一段时间,其中一些文件在同一秒内聚集在一起.我需要的确切正确的顺序.我猜测最简单的方法是将创建时间延长到毫秒(或者纳米)秒.为此,我尝试使用以下内容:

stat $myfile
Run Code Online (Sandbox Code Playgroud)

查看修改时间,但它始终显示小时:分钟:秒00000000000.

有没有办法做到这一点?谢谢,Rik

Hol*_*roe 3

精度取决于您使用的文件系统,但即使使用 ext4 等高精度文件系统,stat 的标准实现也使用 time_t,其分辨率为 1 秒。

如果您有权访问吐出所有这些文件的程序的源代码,请尝试将时间戳设置为文件名的一部分,然后按文件名而不是修改时间进行排序。