Як генерувати безліч (порожніх) файлів зображень?


12

Для тестування мені потрібно швидко створити 1700 jpg-зображень (навіть порожніх) у визначеному розмірі 1000x706. Цікаво, чи не могли б ми це зробити за допомогою сценарію оболонки або програми (наприклад, ImageMagick). Я б хотів, щоб вони зателефонували img_0.jpg, img_1.jpg

Хтось знає просте рішення?

Відповіді:


21

Для ваших потреб працює наступне:

#!/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принаймні, не впевнений у інших).


Дякую за твою допомогу. Я пробую це через кілька годин. Дякую за ідею =) Я голосую за вашу відповідь, як тільки у мене вистачить балів
Рафаель

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.