Shell

Linux在沒有觸摸命令的情況下列出兩個日期之間的文件

  • November 21, 2018

我需要一個命令,它將給定日期和時間(YYYYMMDDHHMMSS - 格式)之間的文件列出到文本文件中。

我不想使用 touch 命令作為它的創建權限問題。

touch如果您有最新版本的 GNU find( >= v4.3.3 ) ,則不需要使用。有了它,你可以這樣做:

find /media/WD/backup/osool/olddata/ -newermt 20120101T1200 -not -newermt 20130101T1400

請注意T白天和小時之間的時間。

如果您想重試使用touch-newer: 創建參考文件,您可以將它們放在您可以寫入 ( /var/tmp?) 的任何位置,只要您指定-newer. 所以你可能仍然會找到一個你有權限的地方。

zsh

autoload age
ls -ldrt -- **/*(e{age 2013/03/06:13:20:00 2013/05/18:11:00:00})

看:

info -f zsh --index-search=age

詳情。

(請注意,它會比 Anthon 的 GNU find 解決方案效率低很多,因為它會解析這些日期,lstat為每個文件執行 2 秒並對文件列表進行排序(您可以通過添加oN到萬用字元列表來避免最後一部分;用於D包含點文件))。

引用自:https://unix.stackexchange.com/questions/76567