Ho questo elenco di file pdf in una directory:
c0.pdf c12.pdf c15.pdf c18.pdf c20.pdf c4.pdf c7.pdf
c10.pdf c13.pdf c16.pdf c19.pdf c2.pdf c5.pdf c8.pdf
c11.pdf c14.pdf c17.pdf c1.pdf c3.pdf c6.pdf c9.pdf
Voglio concatenarli usando ghostscript in ordine numerico (simile a questo):
gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf *.pdf
Ma l'ordine di espansione della shell non riproduce l'ordine naturale dei numeri ma l'ordine alfabetico:
$ for f in *.pdf; do echo $f; done
c0.pdf
c10.pdf
c11.pdf
c12.pdf
c13.pdf
c14.pdf
c15.pdf
c16.pdf
c17.pdf
c18.pdf
c19.pdf
c1.pdf
c20.pdf
c2.pdf
c3.pdf
c4.pdf
c5.pdf
c6.pdf
c7.pdf
c8.pdf
c9.pdf
Come posso ottenere l'ordine desiderato nell'espansione (se possibile senza aggiungere manualmente 0
-pad ai numeri nei nomi dei file)?
Ho trovato suggerimenti da usare ls | sort -V
, ma non sono riuscito a farlo funzionare per il mio caso d'uso specifico.