查找必须以任何字符结尾但不仅仅是“.log”的日志文件名

查找必须以任何字符结尾但不仅仅是“.log”的日志文件名

我需要找到所有超过 5 天的日志文件,并且文件名必须以 .log 和任何字符结尾(即first.log20210701,但不是first.log)。我尝试了这个命令,但它也显示“.log”

find . -type f -name '*.log*' -mtime +5 

请问你能帮帮我吗?

答案1

像这样的东西(.+意思是“一个或多个字符”):

find . -regex ".*\.log.+" -mtime +5

或者,POSIXly(?需要任何一个字符,因此?*意味着“一个或多个字符”):

find . -name "*.log?*" -mtime +5

答案2

find . -type f -name '*.log*' ! -name '*.log' -mtime +5 

只需禁止以 结尾的文件名.log,这就是! -name '*.log'作用。

这样会找到first.log20210701,但不是orfirst.log或。first.log20210701.logfirst.login.log

相关内容