2011-04-28 47 views
1

我想從12小時前刪除文件只有12小時前的任何東西我只是想追加。邏輯錯誤還是有更好的方法?

find . -name "forum*.sql" -mmin +600 -mmin -780 -delete 

有沒有像我需要定義的-mmax的東西?

+0

無法解析。 – 2011-04-28 01:52:03

+0

mmin中的最小值代表分鐘,而不是最小值。 – Swiss 2011-04-28 04:14:18

回答

0

對不起,但我發現你的描述有點難以解析。

以下代碼將刪除在12-13小時前完全創建/修改的文件。較舊的文件和較新的文件留在原地。

原諒冗長的var名稱,它遲了,我希望他們使這個解決方案自我記錄。

# currentTime=201104272232 

TwelveHrsBefore=201104271032 
ThirteenHrsBefore=2001104270932 

# make some zero files with date/time range for what is to be deleted. 
touch -t ${TwelveHrsBefore} upperLimit.tmpFile 
touch -t ${ThirteenHrsBefore} lowerLimit.tmpFile 

find . -name "forum*.sql" -newer lowerLimit.tmpFile -a ! -newer upperLimit.tmpFile 
# when the above is producing the list of files you want to delete, 
# append "| xargs /bin/rm -i" to the end of the find command 
# to delete the files 

# cleanup your tmp files 
rm lowerLimit.tmpFile upperLimit.tmpFile 

該​​可能會令人沮喪得到正確的。我今天已經對它進行了輕微測試,過去我已將這種技術用於生產工作,但我無法訪問該代碼來查看比此示例更復雜的問題。

我希望這會有所幫助。

相關問題