다음 find 명령을 보고 이들 사이의 차이점을 알고 싶었습니다.
find . -exec COMMAND {} \;
find . -exec COMMAND {} \+
find . -exec COMMAND {} +
답변1
find exec에는 두 가지 구문이 있습니다.
find . -exec [cmd] {} \;
{}는 find로 찾은 결과에 대한 자리 표시자입니다.
; 발견된 각 결과에 대해 cmd 명령이 발견된 결과를 사용하여 한 번 실행됨을 의미합니다.
실행은 다음과 같습니다: cmd result1; 명령 결과 2;
find . -exec [cmd] {} \+
{}는 find로 찾은 결과에 대한 자리 표시자입니다.
+는 발견된 모든 결과에 대해 cmd 명령이 발견된 모든 결과에 대해 실행됨을 의미합니다.
실행 방법은 다음과 같습니다: cmd result1 result2 ... result N
+ 이외의 find exec를 언제 사용해야 합니까?
-exec로 실행되는 도구는 여러 파일을 인수로 허용하지 않습니다.
한 번에 너무 많은 파일에 대해 도구를 실행하면 너무 많은 메모리를 차지할 수 있습니다.
모든 결과를 얻으려면 시간이 더 걸리겠지만 곧 결과를 얻을 수 있기를 바랍니다.