如何删除特定日期之间修改的文件?
如在主题中:我想删除在特定日期范围内修改的目录中的文件。 我怎样才能做到这一点 ?
命令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
请注意不要删除单引号,以保护日期和时间之间的空格。
这个角色!
是一个否定,应该是:更新,这个日期,但不是更新的另一个日期。