如何使用 ls 只获取日期之后创建的文件?

如何使用 ls 只获取日期之后创建的文件?

使用该ls命令,是否可以仅显示在特定日期、时间之后创建的文件...?

我问这个问题是因为我有一个包含数千个文件的目录。

我想查看自昨天以来创建的所有文件。

我使用ls -ltr,但我必须等待才能看到所有文件......

DIRECTORY/SINCE=date来自 OpenVMS 的等效项吗?

答案1

您可以使用该find命令查找特定天数后修改的所有文件。

例如,要查找当前目录中自昨天(24 小时前)以来已修改的所有文件,请使用:

find . -maxdepth 1 -mtime -1

注意要查找修改过的文件24 小时前,您必须使用-mtime +1代替-mtime -1.

答案2

find . -type f -newermt '1/30/2017 0:00:00'

这将找到在特定日期之后修改的所有文件。

答案3

ls -ltr | grep "`date | awk '{print $2" "$3}'`"

答案4

我认为如果需要(仅返回文件名)未提供的ls附加文件指标,这些命令比使用 find 好得多。find也就是说,所有 ls 解决方案对于 awk 来说似乎都非常麻烦。为什么不直接使用 gnu date 的内置格式呢?

ls -ltr directory/ | grep "$(date +"%b %e")"做同样的事情并且不需要 awk print 语句或条件。 GNUdate 格式化对于准确输出您需要的日期确实很有帮助。在这种情况下,%b 匹配 3 个字母的月份,%e 是与 ls 格式匹配的空格填充的日期值,而不是默认date使用的 0 填充的日期值。

ls -ltr directory/ | grep "$(date +"%b %e")"输出示例:

-rw-r----- 1 ocams ocams       987 Sep  2 01:45 ember_status_2021-245-01_30.log.gz.closed
-rw-r----- 1 ocams ocams      1202 Sep  2 01:45 realmvm_status_2021-245-00_04.log.gz.closed
-rw-r----- 1 ocams ocams      1085 Sep  2 01:45 realmvm_status_2021-245-01_04.log.gz.closed
-rw-r----- 1 ocams ocams    312590 Sep  2 01:45 3-21-244-234712.csv.gz.closed
-rw-r----- 1 ocams ocams    925880 Sep  2 01:45 1-21-245-010728.csv.gz.closed
-rw-r----- 1 ocams ocams    310556 Sep  2 01:45 3-21-245-010238.csv.gz.closed
-rw-r----- 1 ocams ocams      1041 Sep  2 01:45 ember_status_2021-245-00_45.log.gz.closed

如果您想更紧密地匹配find以获得精确的 24 小时,您可以使用 grep: 中的 or 条件来处理两个不同的日期(当天和前一天)ls -ltr directory/ | grep "$(date +"%b %e")\|$(date -d -1day +"%b %e")"。这将返回 25-48 小时的数据,而不是 <24 小时。

ls -ltr directory/ | grep "$(date +"%b %e")\|$(date -d -1day +"%b %e")"输出示例:

-rw-r----- 1 ocams ocams    314951 Sep  1 23:45 3-21-244-231707.csv.gz.closed
-rw-r----- 1 ocams ocams    899348 Sep  1 23:45 1-21-244-230205.csv.gz.closed
-rw-r----- 1 ocams ocams    915400 Sep  1 23:45 1-21-244-231708.csv.gz.closed
-rw-r----- 1 ocams ocams    671063 Sep  1 23:45 2-21-244-231708.csv.gz.closed
-rw-r----- 1 ocams ocams    666953 Sep  1 23:45 2-21-244-230205.csv.gz.closed
-rw-r----- 1 ocams ocams       987 Sep  2 01:45 ember_status_2021-245-01_30.log.gz.closed
-rw-r----- 1 ocams ocams      1202 Sep  2 01:45 realmvm_status_2021-245-00_04.log.gz.closed
-rw-r----- 1 ocams ocams      1085 Sep  2 01:45 realmvm_status_2021-245-01_04.log.gz.closed

相关内容