Tengo esta lista de archivos pdf en un directorio:
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
Quiero concatenarlos usando ghostscript en orden numérico (similar a esto):
gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf *.pdf
Pero el orden de expansión del shell no reproduce el orden natural de los números sino el orden alfabético:
$ 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
¿Cómo puedo lograr el orden deseado en la expansión (si es posible sin agregar manualmente 0
-padding a los números en los nombres de archivo)?
Encontré sugerencias para usar ls | sort -V
, pero no pude hacerlo funcionar para mi caso de uso específico.