2010-12-07 38 views
7

我正在尋找的是發現於2010年1月1日之前的所有文件的腳本下面是不是爲我工作 -shell腳本查找文件比1月1日舊的2010

date-of-my-file = $(date -r /my-file +%F) 
if [ $date-of-my-file -nt "2010-01-01" ] 
then 
    echo "Yes" 
else 
    echo "No" 
fi 

任何幫助將是讚賞。 P.S:touch命令不適用於使用了不推薦的Linux的我的盒子。

+0

[如何使用'find'來搜索在特定日期創建的文件?](http://stackoverflow.com/questions/158044/how-to-use-find-to-search-for -files-created-on-specific-date) – 2010-12-07 15:42:28

+0

你有`find`和「old」是什麼意思?訪問時間,修改時間,創建時間? – khachik 2010-12-07 15:44:05

+0

@khachik - 修改時間。 – fixxxer 2013-01-10 05:39:19

回答

20

這裏是一個班輪:

find <dir> -not -newermt 2010-01-01 

此找到所有在指定日期之前修改的文件。做一個男人找到,看看-newerXY的選項,如果你想使用除修改日期之外的東西。

0

只需使用「查找」命令。有幾個標誌允許您按上次修改時間過濾文件,如-newer,-mmin和-mtime。做一個「男人找」更多的細節。

1

您需要使用shell命令查找更新的選項。

它的工作原理是:創建一個文件時間戳2010年1月1日,然後將所有的文件進行比較與此時間戳

touch -t 01010000 /tmp/timestamp<br> 
find ~ -newer /tmp/timestamp 
相關問題