Bash:基于文件date戳删除

我有一堆文件的文件夹。 我需要删除7月1日之前创build的所有文件。 我怎么做一个bash脚本?

我认为以下应该做你想要的:

touch -t 201007010000 dummyfile find /path/to/files -type f ! -newer dummyfile -delete 

第一行创建一个2010年7月1日最后一次修改的文件。第二行查找/ path / to / file中具有不比伪文件更新的日期的所有文件,然后删除它们。

如果你想仔细检查它是否工作正常,然后删除-delete参数,它应该只列出将被删除的文件。

这应该工作:

 find /file/path ! -newermt "Jul 01" 

要找到要删除的文件,删除它们的命令是:

 find /file/path ! -newermt "Jul 01" -type f -print0 | xargs -0 rm