如何在 Linux 上搜索具有类似属性的文件?

如何在 Linux 上搜索具有类似属性的文件?

我想在 Linux 终端上查找并删除日志文件。

我通常用这个

查找 -name '*.log'

找到文件后,接下来使用此脚本

查找 -name '*.log' -type f -delete

该脚本适用于

文件名.log

但现在我想找到并删除这样的文件

mysqld.log-20180208  mysqld.log-20180223  mysqld.log-20180310  mysqld.log-20180325  mysqld.log-20180409
mysqld.log-20180123.xz  mysqld.log-20180209  mysqld.log-20180224  mysqld.log-20180311  mysqld.log-20180326  mysqld.log-20180410
mysqld.log-20180124.xz  mysqld.log-20180210  mysqld.log-20180225  mysqld.log-20180312  mysqld.log-20180327  mysqld.log-20180411
mysqld.log-20180125.xz  mysqld.log-20180211  mysqld.log-20180226  mysqld.log-20180313

我如何找到 filename.log-12313

我只想删除带有数字的 filename.log-。

有人能解决这个问题吗?

谢谢。

我非常感谢您的回答。

答案1

您已经使用了 globs;您可以将它们用于文件名的任何部分:

find -name '*.log*' -type f -delete

或者如果你想要更具体一点:

find \( -name '*.log' -o -name '*.log-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' -o -name '*.log-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].xz' \) -type f -delete

相关内容