".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.log20210701OR은 아닙니다 first.log.first.log20210701.logfirst.login.log

관련 정보