
프로그램 에는 일치하는 항목을 찾고 이전에 지정한 명령(예:)을 실행하는 즉시 종료하도록 지시하는 명령줄 옵션이 find
있습니다 . 이것은 훌륭하게 작동하지만 여러 루트에 있고 각 루트에서 첫 번째 일치 항목을 원하는 경우 어떻게 해야 합니까?-quit
-print
find
이렇게 말할 수 있는 방법이 있나요?
find foo bar baz -print -continue-with-next-root
? 일부 셸 코드는 괜찮지만 find
각 루트 폴더에 대해 별도의 호출을 피하고 싶습니다 .
답변1
총알을 물고 find
각 루트 폴더에 대해 별도의 호출을 사용하십시오. 오버헤드는 미미하며 어쨌든 그러한 옵션이 없으므로 find
다음과 같이 할 수도 있습니다.
for dir in dir1 dir2 dir2 ... dirN; do
find ... -quit
done
나는 정말로 당신이 더 나은 해결책을 찾을 것이라고 생각하지 않습니다.