我有一个包含大量文件的文件夹。我需要删除7月1日之前创建的所有文件。我如何在bash脚本中执行此操作?
答案 0 :(得分:22)
我认为以下内容应该符合您的要求:
touch -t 201007010000 dummyfile
find /path/to/files -type f ! -newer dummyfile -delete
第一行创建一个在2010年7月1日最后修改的文件。第二行查找/ path / to / file中的所有文件,其日期不比虚拟文件新,然后删除它们。
如果要仔细检查它是否正常工作,请删除-delete
参数,它应该只列出要删除的文件。
答案 1 :(得分:8)
这应该有效:
find /file/path ! -newermt "Jul 01"
要查找要删除的文件,删除它们的命令将为:
find /file/path ! -newermt "Jul 01" -type f -print0 | xargs -0 rm