如何删除特定日期之间修改的文件?

如在主题中:我想删除在特定日期范围内修改的目录中的文件。 我怎样才能做到这一点 ?

命令GNU find是要走的路。 例如,要删除当前目录中8月1日到5日之间的所有文件,可以使用以下命令

 find . -maxdepth 1 -type f -newermt 2011-08-01 ! -newermt 2011-08-06 -delete 

最好在没有-delete动作的情况下执行命令,首先,查看感兴趣文件的列表(一个好的替代品可能是-ls ,它产生类似ls的列表)。

删除-maxdepth 1规范也将遍历所有子目录。

例如,您也可以指定小时数

 find . -maxdepth 1 -type f -newermt '2011-08-01 10:01:59' \ ! -newermt '2011-08-06 23:01:00' -delete 

请注意不要删除单引号,以保护日期和时间之间的空格。

这个角色! 是一个否定,应该是:更新,这个日期,但不是更新的另一个日期。