Shell-Script

如何生成大量(空白)圖像文件?

  • December 7, 2017

對於測試,我需要以定義的 1000x706 大小快速創建 1700 張 jpg 圖像(甚至是空白)。我想知道我們是否可以使用 shell 腳本或程序(如 ImageMagick)來做到這一點。我希望他們打電話img_0.jpgimg_1.jpg

有人知道一個簡單的解決方案嗎?

以下應該可以滿足您的需求:

#!/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,但您沒有指定哪些 shell 可用。((在大多數 shell 中都可用(bash, kshash至少,不確定其他)。

引用自:https://unix.stackexchange.com/questions/21235