2017-03-01 35 views
0

删除带有日期的旧文件我用文件名作为在名称

filename_201702200800.tar.bz2 
filename_201702201800.tar.bz2 

我期待,以去除是5天,较旧的文件。 文件中的日期格式为%Y%m%d%H%M。

+0

是那些文件总是对应于他们的名字一天创造的? – Aserre

+0

是的,他们是在那个日期和时间创建的 –

+0

@RajHassani:你有没有尝试过解决这个问题? – Inian

回答

2

由于创建时间对应的名称,只是用find

find /path/to/files -type f -ctime +5 -exec rm {} + 

man页:

-exec command {} +

的-exec这一行动变种运行指定的命令在选定的文件上,但命令行是由 构建的,每个sele最后的文件名; 调用的命令总数将远小于 匹配文件的数量命令行的构建方式与012arxargs构建其命令行的方式大致相同。该命令中只允许有一个“{}”实例为 。该命令在起始 目录中执行。

+2

另外,在这种情况下'-ctime'应该是可取的,而不是'-mtime',因为档案可能已由用户修改时间,他们的创建时间和+5天 – Aserre

+0

问题问**关于文件的名称**有日期不是一个普通的文件 –

+0

谢谢! @klashxx –

0

没有足够的代表评论。

你可以使用文件的mtime吗?

find /path/to/files -type f -mtime +5 -delete

否则,你可以计算日期找到:

date -d "5 days ago" +%Y%m%d%H%M

相关问题