\로 명령 찾기; \+ 및 +

\로 명령 찾기; \+ 및 +

다음과 같은 find 명령을 보았고 그 차이점이 궁금합니다.

find . -exec COMMAND {} \;
find . -exec COMMAND {} \+
find . -exec COMMAND {} +

답변1

find exec에는 두 가지 구문이 있습니다.

find . -exec [cmd] {} \;

{} find로 찾은 결과에 대한 자리 표시자입니다.

; 발견된 각 결과에 대해 cmd 명령이 발견된 결과와 함께 한 번 실행됩니다.

다음과 같이 실행됩니다: cmd result1; cmd 결과2; ...; cmd 결과 N

find . -exec [cmd] {} \+

{} find로 찾은 결과에 대한 자리 표시자입니다.

+ 발견된 모든 결과에 대해 cmd 명령이 발견된 모든 결과와 함께 실행됨을 나타냅니다.

다음과 같이 실행됩니다: cmd result1 result2 ... result N

언제 find exec 를 사용해야 할까요? + 이외의 것

-exec로 실행되는 도구는 여러 파일을 인수로 허용하지 않습니다.

한 번에 너무 많은 파일에 대해 도구를 실행하면 메모리가 너무 많이 소모될 수 있습니다.

모든 결과를 얻는 데 시간이 더 걸리더라도 가능한 한 빨리 일부 결과를 얻기 시작하고 싶습니다.

관련 정보