回答:
以下はあなたのニーズに合うはずです:
#!/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
他の人について、少なくとも、わかりません)。
多くの非空白画像を作成するスクリプト可能な方法が必要な場合は、https://perlmaven.com/drawing-images-using-gd-simpleを検討してください。