O seguinte deve funcionar para suas necessidades:
#!/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
O ImageMagick cria a primeira imagem e depois é copiada para formar 1700 arquivos. Se ulimit
não o impedir de fazê-lo (provavelmente o fará) e você tiver descritores de arquivo suficientes, poderá substituir o loop por:
tee img_{1..1699}.jpg > /dev/null < img_0.jpg
Você também pode usar o idioma mais curto (com um requisito de memória maior para armazenar todos os números de uma vez) for _num in {1..1699}
nas bash
versões recentes , mas não especifica quais shells estão disponíveis. ((
está disponível na maioria das conchas ( bash
, ksh
e, ash
pelo menos, não tenho certeza sobre outros).