Sau đây nên làm việc cho nhu cầu của bạn:
#!/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 tạo ra hình ảnh đầu tiên, và sau đó nó được sao chép để tạo ra 1700 tệp. Nếu ulimit
không hạn chế bạn làm điều đó (có thể sẽ như vậy) và bạn có đủ bộ mô tả tệp, bạn có thể thay thế vòng lặp bằng:
tee img_{1..1699}.jpg > /dev/null < img_0.jpg
Bạn cũng có thể sử dụng thành ngữ ngắn hơn (với yêu cầu bộ nhớ lớn hơn để lưu trữ tất cả các số cùng một lúc) for _num in {1..1699}
trong các bash
phiên bản gần đây , nhưng bạn không chỉ định loại vỏ nào khả dụng. ((
có sẵn trong hầu hết các vỏ ( bash
, ksh
và ash
ít nhất, không chắc chắn về những người khác).