我的文件名为
filename_201702200800.tar.bz2
filename_201702201800.tar.bz2
等等
我希望删除5天及以上的文件。 文件中的日期格式为%Y%m%d%H%M。
答案 0 :(得分:2)
由于创建时间对应于名称,只需使用find
:
find /path/to/files -type f -ctime +5 -exec rm {} +
来自man
页面:
-exec command {} +
-exec操作的此变体在所选文件上运行指定的命令,但命令行是由 在最后添加每个选定的文件名;总人数 命令的调用将远远少于数量 匹配的文件。 命令行的构建方式与此类似 xargs构建其命令行。只有一个“{}”实例 在命令中允许。该命令在启动时执行 。目录
答案 1 :(得分:0)
没有足够的回复评论。
你能使用文件的mtime吗?
find /path/to/files -type f -mtime +5 -delete
否则,您可以使用以下方式计算要查找的日期:
date -d "5 days ago" +%Y%m%d%H%M