30일이 지난 로그 파일 찾기

30일이 지난 로그 파일 찾기

특정 폴더에서 30일이 지난 파일을 찾는 스크립트를 작성 중입니다. 요구 사항에 따라 확장명이 있는 파일만 삭제해야 합니다.. 통나무또는. 나가하위 디렉터리를 건너뜁니다.

다음 명령은 30일 전에 수정된 모든 .log* 파일을 반환합니다. 그러나 가장 최근 파일까지 포함하여 모든 .out 파일을 반환합니다. 아래 코드에 문제가 있나요?

    find -maxdepth 1 -mtime +30 -type f -name "*.log*" -o -name "*.out*"

위의 진술에서 무엇이 문제인지 말해주실 수 있나요?

답변1

노력하다:

find -maxdepth 1 -mtime +30 -type f \( -name "*.log*" -o -name "*.out*" \)

문제는 find논리적 OR이 논리적 OR보다 더 밀접하게 결합된다는 것입니다. 괄호가 이를 상쇄합니다.

괄호가 없습니다. find일치하는 파일을 찾고 있습니다.누구나(ㅏ)-mtime +30 -type f -name "*.log*" 또는(둘) -name "*.out*".

괄호를 사용하여 find(a)와 일치하는 파일 찾기-mtime +30 -type f 그리고(b) 일치 -name "*.log*"또는 -name "*.out*".

관련 정보