OSX의 xargs: 잘못된 옵션 --

OSX의 xargs: 잘못된 옵션 --

저는 OSX를 사용하고 있습니다. 특정 디렉토리의 모든 png에 대해 Python 스크립트를 실행하고 싶습니다. 내가 시도한 것은 다음과 같습니다.

find docs/ -name "*png" | xargs --replace=F python myscript.py "F"

하지만 나는 이것을 본다:

xargs: illegal option -- -
usage: xargs [-0opt] [-E eofstr] [-I replstr [-R replacements]] [-J replstr]
             [-L number] [-n number [-x]] [-P maxprocs] [-s size]
             [utility [argument ...]]

내가 뭘 잘못했나요?

답변1

xargs맥 OS X의 경우--replace옵션은 지원되지 않습니다 -I.

find docs/ -name "*png" | xargs -I F python myscript.py "F"

xargs이 버전은 단일 문자 뒤의 문자를 -옵션으로 해석하여 존재하지 않는 라는 --replace옵션을 찾고 있기 때문에 이상한 오류 메시지가 생성됩니다 .-

답변2

맥 OSX xargs긴 옵션은 지원되지 않습니다.GNU xargs. --replaceGNU xargs와 같이 사용 하려면 다음을 사용하십시오 -I.

find docs/ -name "*png" | xargs -I F python myscript.py "F"

find -print0파일 이름에 개행 문자가 포함되어 있으면 이 방법이 중단됩니다. 다음과 함께 사용 하려는 경우 xargs -0:

find docs/ -name "*png" -print0 | xargs -0 -I F python myscript.py "F"

또는 표준 하나:

find docs/ -name "*png" -exec python myscript.py {} +

관련 정보