Linux:列出文件名,如果上次修改在日期间隔之间

标签 linux list date ls

我有 2 个变量,其中包含这样的日期:2001.10.10

我想将 ls 与过滤器一起使用,它只列出上次修改时间在第一个和第二个日期之间的文件

最佳答案

我能想到的最佳解决方案是创建带有边界时间戳的临时文件,然后使用 find :

touch -t YYYYMMDD0000 oldest_file
touch -t YYYYMMDD0000 newest_file
find -maxdepth 1 -newer oldest_file -and -not -newer newest_file
rm oldest_file newest_file

您可以使用 -print0 find 的选项如果你想去掉前导 ./来自所有文件名。

如果创建临时文件不是一个选项,您可以考虑编写一个脚本来计算和打印文件的年龄,such as described here ,然后将其用作谓词。

关于Linux:列出文件名,如果上次修改在日期间隔之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20550593/

相关文章:

linux - 如何在 ubuntu 上以编程方式共享 ssh key ?

c - 使用 popen() 将密码传递到 Veracrypt - 安全吗?

linux - 如何将 cronjob 错误保存到文件并通过电子邮件发送?

linux - MongoDB GUI 客户端(跨平台或 Linux)

c - 指向不在C中的列表中的项目

r - 将具有不等长元素的列表转换为 R 中的两列数据框(首选 dplyr)

c# - 如何一次性删除通用列表中的所有空元素?

如果小时数小于 10,JavaScript 会在小时数之前显示零

java - 将字符串转换为 Java.sql.Date

JavaScript 日期函数在 Firefox 中不起作用