2012-03-27 50 views
3

我想列出所有在最近的n天(或甚至簡單地之後的 Y-m-d)修改日期在目錄中的所有文件。它也必須通過所有子目錄遞歸地工作。如何通過命令行列出昨天在目錄中修改的文件?

我該怎麼做?

理想輸出:

file.txt Mar 26 15:15 
file2.txt Mar 27 01:15 

可接受的輸出:

file.txt 
file2.txt 

回答!(感謝所有幫助)

$ find . -type f -mtime -1 -exec ls -lah {} \; 
-rw-r--rw- 1 apache apache 18K Mar 26 08:22 ./file1.txt 
-rw-r--rw- 1 apache apache 12K Mar 26 09:23 ./dir1/file2.txt 
-rw-r--rw- 1 apache apache 16K Mar 26 10:24 ./dir1/dir2/file3.txt 

回答

5

find . -type f -mtime -1 -exec ls -l {} \;

會列出所有文件過去24小時內,有一個長列表只是爲了確認修改日期

+0

工作。這和-1一樣簡單。謝謝。 – Ryan 2012-03-27 14:39:34

1

使用:

find . -mtime +1 

有關詳細信息,請參閱

man find 
+0

以下命令列出當前目錄(。),它的修改時間超過1天之前的所有文件。在原始帖子中給出你想要的輸出。 – 2012-03-27 14:34:50

1
find dir -mtime +1 -print 

這將找到的dir和那名子目錄下的所有文件1天前或之前修改。

+0

謝謝,n天后我需要這個,而不是之前。 – Ryan 2012-03-27 14:36:02

+0

對不起,這就是我的意思!這將搜索至少1天的文件!無論如何,您可以使用-mtime -1來獲得相反的結果。 – Guido 2012-03-27 14:38:33

+0

是的,現在明白了。謝謝。 – Ryan 2012-03-27 14:41:25

相關問題