Shell-Script
如何生成大量(空白)圖像文件?
對於測試,我需要以定義的 1000x706 大小快速創建 1700 張 jpg 圖像(甚至是空白)。我想知道我們是否可以使用 shell 腳本或程序(如 ImageMagick)來做到這一點。我希望他們打電話
img_0.jpg
,img_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
,ksh
,ash
至少,不確定其他)。