Çok sayıda (boş) görüntü dosyası nasıl oluşturulur?


12

Bir test için, hızlı bir şekilde tanımlanmış bir boyutta 1000x706 boyutunda 1700 jpg görüntüsü (boş bile) oluşturmam gerekiyor. Bunu bir kabuk komut dosyası veya bir program (ImageMagick gibi) ile yapabilir miyiz merak ediyorum. Keşke aradılar img_0.jpg, img_1.jpg

Birisi basit bir çözüm biliyor mu?

Yanıtlar:


21

Aşağıdakiler ihtiyaçlarınıza uygun olmalıdır:

#!/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 ilk görüntüyü oluşturur ve daha sonra 1700 dosya oluşturmak için kopyalanır. Eğer ulimitbunu yapıyor kısıtlıyor (muhtemelen will) ve yeterli dosya tanımlayıcıları yok, sen ile döngü yerini alabilir:

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

Ayrıca for _num in {1..1699}son bashsürümlerde daha kısa deyim (tüm sayıları aynı anda saklamak için daha büyük bir bellek gereksinimi ile) kullanabilirsiniz , ancak hangi kabukların kullanılabilir olduğunu belirtmezsiniz. ((En kabukları mevcuttur ( bash, kshve ashen azından emin başkaları hakkında).


Yardımın için teşekkürler. Bunu birkaç saat içinde deniyorum. Fikir için teşekkür ederim =) Yeterli puan alır
almaz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.