我想在 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