如主题所述:我想删除目录中在特定日期范围内修改过的文件。我该怎么做?
答案1
命令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
请注意不要删除保护日期和时间之间的空格的单引号。
该字符!
是否定的,应读作:比该日期更新,但不是比其他日期更新。