2011-09-07 130 views
2

我試圖在bash中編寫一個存檔腳本,但我似乎無法得到find()以天數爲間隔工作。查找和天數範圍

我需要的代碼的範圍是

  1. 文件今天和31日齡之間的最後一次修改。這工作:

find . -name "*.VER" -mtime -31 -exec mv '{}' /opt/html/31';' -print

  1. 文件31天和62日齡之間的最後一次修改。這不起作用:

find . -name "*.VER" -mtime -31 -mtime -62 -exec mv '{}' /opt/html/62 ';' -print

  1. 62天和93日齡
  2. 文件93天和124日齡
  3. 之間的最後一次修改之間最後一次修改文件...你的想法(最多一年)...

有沒有一種方法來編碼我的find()命令使用多個天範圍?

回答

8

我認爲你必須改變+的邏輯 - 在時代:

find . -name "*.VER" -mtime +31 -mtime -62 -exec mv '{}' /opt/html/62 ';' -print 

這告訴:文件用的mtime更大的超過31天但不超過61天。

+0

真棒!這做到了。非常感謝!!投了票。 – Chris

+0

很高興幫助! :) –