Estou usando o seguinte código para concatenar todos os arquivos pdf no diretório atual:
find . -iname '*.pdf'|sort|xargs|xargs -I {} pdftk {} cat output union.pdf
A primeira invocação de xargs tem o efeito de converter a saída de sort em uma única linha, com itens separados por um espaço. Mas o resultado é este:
Error: Unable to find file.
Error: Failed to open PDF file:
./001.pdf ./002.pdf ./003.pdf ./004.pdf ./007.pdf ./010.pdf ./031.pdf ./057.pdf ./077.pdf ./103.pdf ./131.pdf ./155.pdf ./179.pdf ./205.pdf ./233.pdf ./261.pdf ./285.pdf ./313.pdf ./331.pdf ./357.pdf ./383.pdf ./411.pdf
Errors encountered. No output created.
Done. Input errors, so no output created.
O xargs passa o argumento para pdftk com aspas ao redor? Como evitar isso? (Espaços em branco, escape e a forma como eles interagem com os comandos sempre me deixam louco...)