多くの(空白の)画像ファイルを生成する方法は?


12

テストのために、定義されたサイズ1000x706で1700個のjpgイメージ(空白も含む)をすばやく作成する必要があります。シェルスクリプトまたはプログラム(ImageMagickなど)でこれを実行できるかどうかは疑問です。私は、彼らが呼ばれたいですimg_0.jpgimg_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バージョンでは、短いイディオム(すべての数値を一度に格納するために必要なメモリが大きい)を使用することもできますが、使用可能なシェルを指定しません。(((ほとんどのシェルで利用可能でbashkshあり、ash他の人について、少なくとも、わかりません)。


ご協力ありがとうございました。数時間でこれを試します。アイデアをありがとう=)私は十分なポイントがあるとすぐにあなたの答えに投票します
ラファエル

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.