find / path / -exec 명령 ‘{}’+의 +는 무엇입니까? /path/ -exec

무엇 +으로 find /path/ -exec command '{}' +하는가? 반대로find /path/ -exec command '{}' \;



답변

‘+’는 실행 된 명령 수를 최소화하기 위해 찾은 모든 파일에서 하나의 큰 명령 행을 작성합니다.

find 명령이 4 개의 파일을 찾는 경우를 고려하십시오.

find . -type f -exec command '{}' \;

생산할 것이다

command file1
command file2
command file3
command file4

반면에

find . -type f -exec command '{}' \+

생산

command file1 file2 file3 file4


답변

매뉴얼 페이지에서 :

-exec 명령 {} +

이 -exec 조치 변형은 선택된 파일에서 지정된 명령을 실행하지만 명령 행은 선택한 각 파일 이름을 끝에 추가하여 빌드됩니다. 명령의 총 호출 수는 일치하는 파일 수보다 훨씬 적습니다. 명령 행은 xargs가 명령 행을 빌드하는 것과 거의 같은 방식으로 빌드됩니다. `{} ‘인스턴스는 하나만 허용됩니다. 명령은 시작 디렉토리에서 실행됩니다.


답변