Как сгенерировать много (пустых) файлов изображений?

Для теста мне нужно быстро создать 1700 jpg-изображений (даже пустое) в определенном размере 1000×706. Интересно, можем ли мы сделать это с помощью сценария оболочки или программы (например, ImageMagick). Хотелось бы, чтобы они назвали img_0.jpg , img_1.jpg

Кто-то знает простое решение?

One Solution collect form web for “Как сгенерировать много (пустых) файлов изображений?”

Следующее должно работать для ваших нужд:

 #!/bin/bash convert -size 1000x706 xc:white img_0.jpg || { printf '%s\n' 'Failed to create original image' ; exit 1 ; } for (( _num = 1 ; _num < 1700 ; _num++ )); do cp img_0.jpg "img_${_num}.jpg" || { printf '%s\n' "Failed to copy to image img_${_num}.jpg" ; exit 2 ; } done 

ImageMagick создает первое изображение, а затем копируется для создания 1700 файлов. Если ulimit не ограничивает вас этим (он, вероятно, будет), и у вас будет достаточно файловых дескрипторов, вы можете заменить цикл:

 tee img_{1..1699}.jpg > /dev/null < img_0.jpg 

Вы также можете использовать более короткую идиому (с большим объемом памяти для хранения всех номеров одновременно) for _num in {1..1699} в последних версиях bash , но вы не укажете, какие оболочки доступны. (( доступно в большинстве оболочек ( bash , ksh и ash по крайней мере, не уверены в других).

  • Как я могу использовать цикл внутри команды?
  • Как правильно запустить программу и сделать возможным перенаправить свой текущий выход (stdout и stderr) на более поздний этап?
  • Узнайте, существуют ли файлы в папке под другим именем в другой папке
  • Как остановить бесконечную функцию цикла, вызванную с помощью myFunc &
  • Как grep следующие строки из файла?
  • Выполнение нескольких команд в скрипте init.d
  • Сравните два файла больше, чем значение
  • Как получить имена файлов при использовании find и sed
  • проанализировать первый столбец вывода команды, получить соответствующее второе значение столбца
  • Слияние двух файлов после проверки соответствия некоторых столбцов
  • Петля для snmpwalk в bash
  • Linux и Unix - лучшая ОС в мире.