2016-09-25 2 views
0

이 코드는 첫 번째 파일을 대체하는 것으로 보이며 file1.pdf는 추가하지 않습니다.
파일을 바꾸지 않고 추가해야합니다.PDF 파일의 폴더를 반복하고 각 파일에 하나의 PDF를 추가하십시오

#!/bin/bash 
FILES=("/Users/a/folder/"*.pdf) 
for f in "${FILES[@]}" 
do 
    echo "${f}" 
    "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" -o "${f}" "${f}" "/Users/a/folder2/file1.pdf" 
done 

코드를 수동으로 실행했지만 첫 번째 및 두 번째 매개 변수에 다른 이름을 사용하면 작동하는 것으로 나타났습니다. 그러나 첫 번째 매개 변수의 이름을 변경하지 않고 계속 변경하지는 않습니다.

답변

1

귀하의 문제는 루비와 관련이 없습니다. 필자가 이해하고있는 것처럼 MacOS X El Capitan에서 명령 줄을 사용하여 PDF 파일을 다른 PDF 파일과 병합하려고합니다.

문제를 올바르게 이해했다면 this weblog의 조언을 듣고 MacOS X Tiger에서 사용할 수있는 "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" 명령을 사용해야합니다.

추가 할 파일이 모든 파일을 추가 할 디렉토리와 같은 경우 문제가 발생합니다. 스크립트 join.py는 동일하게 제공되는 것을 인식하지 못합니다 파일을 세 번 올리면 파일을 다른 파일 (모든 파일에 추가하려는 파일)에 배치하십시오. 의 라인을 따라

시도 뭔가 :

#!/bin/bash for f in /Absolute/Path/To/The/PDFS/*.pdf; do /System/Library/Automator/Combine\ PDF\ Pages.action/Contents/Resources/join.py -o $f $f /Absolute/Path/To/The/File/To/Append; done

+0

나는 실제로 읽어하지만 방법이 폴더를 통해 루프에 표시되지 않습니다. 내가 그것을 놓치지 않으면. – user2012677

+0

필자는 실제로 Mac을 사용하지 않았기 때문에 나에게 가장 힘들었던 것 (즉, PDF 가입)에만 초점을 맞 춥니 다. 폴더에있는 파일, of of f in *; do echo $ f; done'은 MacOS X 및 다른 UNIX 시스템에서 작동해야하지만 테스트 할 수는 없습니다. –

+0

당신에게 추천, 어떤 아이디어를 시도 했습니까? – user2012677

0

해결 방법 :

#!/bin/bash 
FILES=("/Users/a/folder/"*.pdf) 
for f in "${FILES[@]}" 
do 
    echo "${f}" 
    a="${f%.pdf}" 
    "/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" -o "${a}_x.pdf" "${f}" "/Users/a/folder2/file1.pdf" 
done 
관련 문제