此代码似乎替换了第一个文件,而不是将file1.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
我注意到,如果我手动运行代码,但是对第一个和第二个参数使用不同的名称,它似乎有效。但是,我不知道如何更改第一个参数的名称而不使其成为常量。
答案 0 :(得分:1)
在我看来,你的问题与Ruby无关。正如我所理解的那样,您正在尝试使用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
答案 1 :(得分: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