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