2016-02-12 78 views

回答

2

更好地刪除使用查找基於創建時間:

find /var/log/ -name somefiles.log.* -ctime +3 -delete 
+0

我見過類似的答案。但在這種情況下,我希望它在文件名內工作,而不是創建或修改的時間戳。 –

2

使用削減命令來檢索文件名的YYYY-MM-DD的一部分。並使用日期命令如下將其轉換爲time_t類型。

日期-D 「YYYY-MM-DD」 +%S

,那麼你可以比較的time_t,以確定哪些文件應該被刪除。

+0

同意。 也可能考慮在find上使用-iregex。 – Eduardo

+1

@Eduardo,謝謝你提醒我在匹配中找到Matcher Selection(我以前不知道)。但在regexp中計算日期似乎很困難。 – gzh

+0

是的,我同意,會很煩人。 – Eduardo