2016-02-12 77 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