Если у вас много файлов, из-за которых вы столкнетесь с ограничением командной строки ОС, вам следует использовать convert
функцию @
«ссылка на имя файла»:
generate the list of files... | convert @- out.pdf
В оболочке, которая не поддерживает *.jpg(n)
подстановки, такие как zsh
, вы можете сгенерировать список файлов в правильном порядке с помощью:
echo 'file('?').jpg' 'file('??').jpg' 'file('???').jpg' | convert @- out.pdf
Или с оболочкой, поддерживающей распорку:
echo 'file('{?,??,???}').jpg' | convert @- out.pdf
В отличие от {1..100}
это будет соответствовать только существующим файлам. Поскольку echo
является встроенным -в большинстве оболочек, на него не распространяются ограничения командной строки ОС, поэтому такая конструкция может превратиться в полезный UUoE.