PALMisLIFE 討論區
標題:
UNIX 下刪除某一日期前的檔案
[列印本頁]
作者:
Jerry
時間:
2006-8-4 15:58
標題:
UNIX 下刪除某一日期前的檔案
對unix下指令的熟悉度還是不夠,想請教一下如何指定某一日期前的檔案要全刪除。
除了使用find 外,還有其它方法嗎。
謝謝
作者:
allenown
時間:
2006-8-4 16:44
標題:
Re: UNIX 下刪除某一日期前的檔案
其實用 find 就可以滿足了
你可以找某個是在那個日期的檔案
然後下參數
find ./ \! -newer filename
有加上
\!
-newer 就代表是「不」比 filename 這個檔案新的檔案
也就是搜尋比這個檔案舊的檔案
如果找到的結果是正確的
就可以直接用下列命令直接刪除檔案
find ./ \! -newer filename
-exec rm {} \;
如果想要每個檔案都 check 是否要刪除的話
可以改下 find ./ \! -newer filename
-ok
rm {} \;
當然如果更方便一點,
可以直接用 -ctime 來搜尋多久時間之內有被改變或是沒有被改變的檔案
find .
-ctime -1w2d3h4m5s
就會找尋在一週兩天三小時四分鐘五秒之內有修改過的檔案 XD
如果是
+
1w2d3h4m5s 的話就是沒有修改過的檔案
希望對你有幫助
作者:
MelancholyLee
時間:
2006-8-4 17:07
標題:
Re: UNIX 下刪除某一日期前的檔案
可以寫個小程式..判斷檔案的產生時間再進行刪除.. (Java in a nutshell 有類似的範例..拿來改一下應該就可以用了)
不然的話 用shell script 來做是比較快的..
find + xargs + regular expression 可依自己的需求組合一下..
細節可以用 man find 來找到一些說明
作者:
Jerry
時間:
2006-8-7 09:22
標題:
Re: UNIX 下刪除某一日期前的檔案
謝謝二位。
用find 的命令加上atime 解決了。
歡迎光臨 PALMisLIFE 討論區 (http://f.pil.tw/)
Powered by Discuz! X2.5