如何删除unix中的特定文件

How to delete specific files in unix

我们的服务器实例在 /wslogs/instance_name 目录下有一些文件,这些都是每天创建的日志文件。

我正在寻找一个脚本来根据日期自动删除这些文件。 所以假设删除超过 10 天的文件。问题是文件名不是纯粹的日期格式,而是

hostname_%m%d%Y_access.log and hostname_%m%d%Y_error.log

例如,ra70960708_12042016_access.logra70960708_12042016_error.log(其中 ra70960708 是服务器名称或主机名)。

我正在尝试使用 rm 命令,但无法弄清楚如何在此处指定文件,如果我说我必须删除那些比当前日期早 10 天的文件。

如有任何帮助,我们将不胜感激。

干杯,

阿什莉

忘了名字,改用修改时间:

下面将列出当前目录中与 glob 匹配的文件:hostname_*_error.log 以及在 +10 天前最后修改的文件:

find . -maxdepth 1 -mindepth 1 \
  -type f -name 'hostname_*_error.log' \
  -mtime +10

然后可以用 -delete 删除它们。

. 是要搜索的目录。