बहुत सारी (रिक्त) छवियों को कैसे उत्पन्न किया जाए?


12

एक परीक्षण के लिए, मुझे जल्दी से परिभाषित आकार 1000x706 में 1700 jpg-images (यहां तक ​​कि रिक्त) बनाने की आवश्यकता है। मुझे आश्चर्य है कि अगर हम एक शेल स्क्रिप्ट या एक प्रोग्राम (इमेजमैजिक की तरह) के साथ ऐसा कर सकते हैं। काश वे कहते img_0.jpg, img_1.jpg

कोई सरल उपाय जानता है?

जवाबों:


21

निम्नलिखित को आपकी आवश्यकताओं के लिए काम करना चाहिए:

#!/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कम से कम, दूसरों को नहीं के बारे में निश्चित)।


आपके सहयोग के लिए धन्यवाद। मैं कुछ घंटों में यह कोशिश करता हूं। इस विचार के लिए धन्यवाद =) जैसे ही मेरे पास आपके अंक के लिए मैं वोट करता हूं, मेरे पास पर्याप्त अंक हैं
राफेल

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.