find /path/ -exec '{}' 명령의 +는 무엇을 합니까?

find /path/ -exec '{}' 명령의 +는 무엇을 합니까?

+안에서는 무슨 일이 벌어지고 있나요 find /path/ -exec command '{}' +? 상대적인find /path/ -exec command '{}' \;

답변1

"+"는 발견된 모든 파일을 하나의 큰 명령줄로 만들어 실행할 명령 수를 최소화합니다.

find 명령이 네 개의 파일을 찾았다고 가정합니다.

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

생산할 것입니다

command file1
command file2
command file3
command file4 

반면에

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

생산하다

command file1 file2 file3 file4

답변2

매뉴얼 페이지에서:

-명령 실행 {} +

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

관련 정보