저는 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. --replace
GNU 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 {} +