"찾기" 결과를 Azure CLI로 파이프

"찾기" 결과를 Azure CLI로 파이프

해당 명령을 사용하여 find특정 파일 목록을 찾은 다음 각 파일을 다른 명령으로 파이프하려고 합니다. 다른 명령은 Azure CLI 명령줄입니다. 다음 명령을 사용해 보았습니다.

find /folder -name exclude1 -prune -o -name exclude2 -prune -o -name *.bicep -print -exec az bicep build {}

하지만 이것은 오류를 발생시킵니다.find: missing argument to -exec

결과에서 배열을 만든 find다음 for 루프에서 해당 배열을 사용하여 각 요소를 az bicep build명령에 전달할 수 있습니까?

그런데... 인수 없이 -execfind명령은 내가 찾고 있는 결과 세트를 반환합니다.

답변1

반환하는 이유는 find: missing argument to -exec인수가 -execor로 끝나야 하기 때문입니다. 이 구문은 단일 명령에 가능한 한 많은 인수를 전달합니다. 예를 들어 이 구문은 필요한 것일 수 있는 하나의 파일만 인수로 사용하여 각 파일에 대해 새 명령을 실행합니다.+\;+az bicep build file1 file2 file3\;

쉘과 현재 디렉토리의 파일에 따라 구문 분석을 시도할 수 있으며 *.bicep대신 안전을 위해 {}에 전달되어야 합니다 .find

다음 명령은 요구 사항을 충족해야 합니다.

find /folder -name exclude1 -prune -o -name exclude2 -prune -o -name '*.bicep' -print -exec az bicep build '{}' \;

관련 정보