2017-11-28 13 views
0

변환 사용.구문 오류 '('내가 그들을 크기를 조정하기 위해 일부 이미지에 <code>convert</code> 명령을 실행하기 위해 노력하고있어

find build_reports/functional_tests/results -name '*.png' | xargs -I {} sh -c 'convert -resize 20% {} {}' 

나는 파일이 (그리고 있다는 점이다이 문제)에을 자신의 이름을 자신의 다른 곳에 연결되어 있기 때문에 (예를 들어 build_reports/functional_tests/결과/첨부 파일/메인 화면 (ID 1) _1_0FEF8183-AF87-4517-928D-8C4A2ED984D0.png의 스크린 샷) 나는 이러한 파일의 이름을 바꿀 수 없습니다.

을 때 나는 명령을 실행하면 다음과 같은 경고 메시지가 나타나며 이미지의 크기가 조정되지 않습니다.

sh: -c: line 0: syntax error near unexpected token `(' 
sh: -c: line 0: `convert -resize 20% build_reports/functional_tests/results/Attachments/Screenshot of main screen (ID 1)_1_D94BAEBC-F463-4EEE-8FAE-C49AFF4A8FFE.png {}' 

어쨌든 이러한 경고를 제거하고 어떻게 든 find 명령의 결과를 이스케이프하여이 작업을 수행 할 수 있습니까?

+1

사용 -print0과 xargs를에 -0, 따옴표 사이의 파일 이름을 넣어 : 찾기/경로 -print0을 - 이름 * .png | xargs -I {} -0 convert ... '{}' '{}' –

+0

https://stackoverflow.com/questions/16758525/how-can-i-make-xargs-handle-filenames-that-contain을 참조하십시오. - 스페이스 –

답변

1

은 다음과 시도 보내기

find . -iname "*.png" -exec convert -resize 20% '{}' '{}' \; 

공지 단일 찾기에 따옴표 '{}'

관련 문제