Linux
Linux:使用 find 定位早於 <date> 的文件
find
對查找少於 X 天前修改較多的文件有很好的支持,但是如何使用它find
來查找在某個日期之前修改的所有文件?我在手冊頁中找不到任何內容
find
來執行此操作,只能與另一個文件時間進行比較或檢查創建時間與現在之間的差異。以所需時間製作文件並與之進行比較是唯一的方法嗎?
如果您只有“-newer 文件”,則可以使用此解決方法:
# create 'some_file' having a creation date of 16 Mar 2010: touch -t 201003160120 some_file # find all files created after this date find . -newer some_file
男人觸摸:
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
假設你的 touch 有這個選項(我的是 touch 5.97)。
不,您可以使用日期/時間字元串。
來自
man find
:-newerXY reference
將目前文件的時間戳與參考進行比較。引用參數通常是文件的名稱(其中一個時間戳用於比較),但它也可能是描述絕對時間的字元串。X 和 Y 是其他字母的佔位符,這些字母選擇屬於哪個時間的參考用於比較。
a The access time of the file reference B The birth time of the file reference c The inode status change time of reference m The modification time of the file reference t reference is interpreted directly as a time
例子:
find -newermt "mar 03, 2010" -ls find -newermt yesterday -ls find -newermt "mar 03, 2010 09:00" -not -newermt "mar 11, 2010" -ls