我需要找到所有超过 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.log
first.login.log