Este one liner (dividido em 2 linhas para facilitar a leitura) foi testado e funciona bem no meu sistema:
find . -name '*.pdf' -type f -exec bash -c \
'pdftk "$0" cat 3-10 output "${0%.pdf}_3-10.pdf"' {} \;
Basta abrir uma janela do Terminal na pasta base (aquela que contém todas as subpastas) e copiar e colar todo o comando de uma linha dado acima. Será:
- Atravessar todas as subpastas e identificar todos os pdfs
- Extraia as páginas 3-10 de cada uma delas (usando seu comando de exemplo)
- Dê um nome de arquivo de saída sensible : o nome original com
_3-10
added
E isso deve, de maneira organizada e econômica, realizar o seu propósito ...
Variação:
Opcionalmente, você pode fornecer um local de saída diferente para coletar todos os documentos PDF alterados. Por exemplo, você poderia criar uma pasta chamada ~/extracted
e alterar a linha de comando acima para o seguinte:
find . -name '*.pdf' -type f -exec bash -c \
'pdftk "$0" cat 3-10 output "~/extracted/${0%.pdf}_3-10.pdf"' {} \;
E assim todos os arquivos pdf alterados aparecerão em ~/extracted
.
Possibilidades infinitas:).