file - 在 Bash 中按创建时间排序文件到毫秒

标签 file bash date

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

ls -lat

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

stat $myfile

查看修改时间,总是显示时:分:秒.00000000000。

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

最佳答案

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

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

关于file - 在 Bash 中按创建时间排序文件到毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3814290/

相关文章:

file - 区分大小写 `os.Stat`

linux - 将标准错误流输出传递给函数

bash - 如何使用HDFS Shell脚本处理--config选项

macos - 为什么 cURL 返回错误 "(23) Failed writing body"?

c# - 从资源复制文件

c - 在 Linux C 中同步读取文件

java - 如何在特定位置开始读取文件?

python - 连接年份和季度的新变量

r - apply.monthly 给出该月最后一次观察的日期,而不是该月的最后一天

java - 获取第二天的 java.sql.Date