일치하는 항목이 발견되면 다음 루트 디렉터리로 find 스위치를 설정할 수 있나요?

일치하는 항목이 발견되면 다음 루트 디렉터리로 find 스위치를 설정할 수 있나요?

프로그램 에는 일치하는 항목을 찾고 이전에 지정한 명령(예:)을 실행하는 즉시 종료하도록 지시하는 명령줄 옵션이 find있습니다 . 이것은 훌륭하게 작동하지만 여러 루트에 있고 각 루트에서 첫 번째 일치 항목을 원하는 경우 어떻게 해야 합니까?-quit-printfind

이렇게 말할 수 있는 방법이 있나요?

find foo bar baz -print -continue-with-next-root

? 일부 셸 코드는 괜찮지만 find각 루트 폴더에 대해 별도의 호출을 피하고 싶습니다 .

답변1

총알을 물고 find각 루트 폴더에 대해 별도의 호출을 사용하십시오. 오버헤드는 미미하며 어쨌든 그러한 옵션이 없으므로 find다음과 같이 할 수도 있습니다.

for dir in dir1 dir2 dir2 ... dirN; do
   find ... -quit
done

나는 정말로 당신이 더 나은 해결책을 찾을 것이라고 생각하지 않습니다.

관련 정보