J'ai cette liste de fichiers pdf dans un répertoire:
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
Je veux les concaténer en utilisant ghostscript dans l'ordre numérique (similaire à ceci):
gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf *.pdf
Mais l'ordre d'expansion du shell ne reproduit pas l'ordre naturel des nombres mais l'ordre alphabétique:
$ 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
Comment puis-je obtenir l'ordre souhaité dans l'extension (si possible sans ajouter manuellement 0
-padding aux numéros dans les noms de fichiers)?
J'ai trouvé des suggestions à utiliser ls | sort -V
, mais je n'ai pas pu le faire fonctionner pour mon cas d'utilisation spécifique.