使用该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