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보다 논리적이고 더 긴밀하게 바인딩된다는 것입니다. Parens는 이에 대응합니다.

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

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

관련 정보