찾기를 사용할 때 인수 목록이 너무 깁니다. 오류

찾기를 사용할 때 인수 목록이 너무 깁니다. 오류

find명령은 다음과 같습니다.

find /jobs/logs/* -prune -name '*.log' -type f -mtime +1 |
    while read LOGFILE
    do
        echo $LOGFILE
    done

다음 오류로 인해 이 작업이 실패했습니다.

/usr/bin/find: arg list too long

누구든지 이 문제를 해결하는 방법을 제안할 수 있습니까?

(이것이 계속된다내 이전 질문.)

답변1

디렉토리를 반복해 봅시다 find. 그게 바로 그 일입니다! 내 기반이전 답변:

find /jobs/logs/. -name . -o -type d -prune -o
                  -type f -mtime +1 -exec sh -c 'echo "$0"' {} \;

-exec그나저나, 제가 명령을 호출 하곤 했다는 점을 기억하세요 find. 그게 바로 명령의 목적입니다.

또한 read LOGFILE실제로 참고하시기 바랍니다.아니요입력 줄을 읽습니다. 선행 공백을 제거하고 백슬래시를 해석합니다. 한 줄을 읽는 신뢰할 수 있는 방법은 입니다 IFS= read -r LOGFILE.

답변2

find명령을 다음으로 변경해 보십시오 .

find /jobs/logs/. ! -name . -prune -name '*.log' -type f -mtime +1 

이는 디렉터리를 find제외 .하고 더 이상 다운되지 않도록 나머지 디렉터리를 모두 정리하라는 의미입니다.

자세한 내용은 이 페이지를 확인하세요.휴대용 현재 디렉토리로 검색 제한

관련 정보