Automator service: cancella l'ultima pagina dal PDF con l'uso di pdfsplit tramite bash

1

Mi piacerebbe progettare un semplice servizio di Automator che cancellerebbe l'ultima pagina dal PDF passato tramite il finder. La mia sintassi proposta per lo script di shell è:

for f in "$@"
do
    pages='pdfcount "$f"'
    pagescut='$pages - 1'
    /usr/local/bin/pdfsplit "$f" - $pagescut > "$f".tmp
    rm "$f"
    mv "$f".tmp "$f"
done

Il mio flusso di lavoro di Automator è simile a questo: Lasintassipereliminarelaprimapagina:/usr/local/bin/pdfsplit"$f" 2- > "$f".tmp , funziona come un fascino, quindi l'errore deve essere dovuto all'aritmetica sui numeri di pagina. Ho provato a modificare la sintassi:

for f in "$@"
do
    pages='pdfcount "$f"'
    pagescut='$(( ${pages} - 1 ))'
    /usr/local/bin/pdfsplit "$f" - $pagescut > "$f".tmp
    rm "$f"
    mv "$f".tmp "$f"
done

ma non sto ottenendo i risultati desiderati. Come costruire questo servizio correttamente?

    
posta Konrad 21.02.2015 - 22:37
fonte

1 risposta

1

Hai un paio di errori nella sintassi. Sostituisci le seguenti righe:

pages='pdfcount "$f"'
pagescut='$(( ${pages} - 1 ))'

Con questi:

pages=$(pdfcount "$f")
pagescut=$(($pages - 1))
    
risposta data 22.02.2015 - 15:51
fonte

Leggi altre domande sui tag