删除带有日期的旧文件我用文件名作为在名称
filename_201702200800.tar.bz2
filename_201702201800.tar.bz2
等
我期待,以去除是5天,较旧的文件。 文件中的日期格式为%Y%m%d%H%M。
删除带有日期的旧文件我用文件名作为在名称
filename_201702200800.tar.bz2
filename_201702201800.tar.bz2
等
我期待,以去除是5天,较旧的文件。 文件中的日期格式为%Y%m%d%H%M。
由于创建时间对应的名称,只是用find
:
find /path/to/files -type f -ctime +5 -exec rm {} +
从man
页:
-exec command {} +
的-exec这一行动变种运行指定的命令在选定的文件上,但命令行是由 构建的,每个sele最后的文件名; 调用的命令总数将远小于 匹配文件的数量。 命令行的构建方式与012arxargs构建其命令行的方式大致相同。该命令中只允许有一个“{}”实例为 。该命令在起始 目录中执行。
另外,在这种情况下'-ctime'应该是可取的,而不是'-mtime',因为档案可能已由用户修改时间,他们的创建时间和+5天 – Aserre
问题问**关于文件的名称**有日期不是一个普通的文件 –
谢谢! @klashxx –
没有足够的代表评论。
你可以使用文件的mtime吗?
find /path/to/files -type f -mtime +5 -delete
否则,你可以计算日期找到:
date -d "5 days ago" +%Y%m%d%H%M
是那些文件总是对应于他们的名字一天创造的? – Aserre
是的,他们是在那个日期和时间创建的 –
@RajHassani:你有没有尝试过解决这个问题? – Inian