用于显示在特定时间戳创建的 UNIX 文件的查询

用于显示在特定时间戳创建的 UNIX 文件的查询

我希望列出在特定时间创建的所有文件。

(例如:按时创建的文件:11 月 13 日 09:09)

-rw-r--r-- 1 bitt1 cerillio     43268 Nov 13 09:02 sendEsbUpdateEvents.log
-rw-r--r-- 1 bitt1 cerillio    333420 Nov 13 09:09 jobwatch_bittest1.log
-rw-r--r-- 1 bitt1 cerillio   6113535 Nov 13 09:09 CDRExtract.log
-rw-r--r-- 1 bitt1 cerillio     10268 Nov 13 09:09 cdrextract_111309095100_26224.log
-rw-r--r-- 1 bitt1 cerillio 322398684 Nov 13 09:10 export_docs_log.log
-rw-r--r-- 1 bitt1 cerillio   2911940 Nov 13 09:14 sendBillNotifications.log

因此,如果有的话,请告诉我单班轮查询。

答案1

使用 GNU 或 FreeBSD find

find . -newermt '2014-11-13 9:09' ! -newermt '2014-11-13 9:10'

请注意,它将报告最后修改时间为 9:10:00.000000000 的文件,而不是报告时间为 9:09:00.000000000 的文件,但对于其间的其他 60,000,000,000 纳秒应该没问题。

使用 GNU find,假设文件和目录名称不包含换行符,您还可以执行以下操作:

find . -printf '%T+/%p\n' | grep -Po '^2014-11-13\+09:09.*?/\K.*'

(或者如果它们可能包含换行符:

find . -printf '%T+/%p\0' | grep -Pzo '^2014-11-13\+09:09.*?/\K.*' | tr \\0 \\n

相关内容