जवाबों:
आपको Ubuntu पर ImageMagick स्थापित होने की संभावना है ।
वह कर सकता है ,
convert filename.bmp filename.jpg
अद्यतन करें:
mogrify
(द्वारा उत्तर दिया hyperslug
और द्वारा संदर्भित cjm
) भी एक अच्छा विकल्प है।
छवि, ब्लर, क्रॉप, डेसपेकल , डेज़री , आकार, फ़्लिप, ज्वाइन, री-सैंपल और बहुत कुछ का आकार बदलने के लिए मोगरीफाई प्रोग्राम का उपयोग करें ।
यह उपकरण बदलने के लिए उपयुक्त है सिवाय इसके कि मूल छवि फ़ाइल अधिलेखित है
(जब तक कि आप-format
विकल्प के साथ फ़ाइल प्रत्यय को नहीं बदलते) आपके द्वारा अनुरोध किए गए परिवर्तनों के साथ।
मुझे उत्तर देने के लिए थोड़ा सा बदलाव करने दें:
for i in `ls *.bmp`; do convert $i $i.jpg; done
ऊपर काम करता है लेकिन "bmp.jpg" नाम की फाइलें उत्पन्न करता है। आप इस आदेश के साथ .jpg फाइलें प्राप्त कर सकते हैं:
for i in *.bmp; do convert ${i} ${i%bmp}jpg; done
कमांड के man bash
विवरण के लिए देखें for
। ${i%bmp}
भाग स्ट्रिंग का अर्थ है "$ {मैं}" "bmp" अंत में सबस्ट्रिंग के बिना।
"$ {I}" में स्ट्रिंग को बदलने के लिए अन्य ऑपरेशन हैं। "$ i" "$ {i}" का शॉर्टहैंड है। ls *.bmp
Salmonmoose जवाब साधन में भाग "पर अमल ls *.bmp
करें, तो के लिए i
हिस्सा प्रदान करती है प्रत्येक स्ट्रिंग के लिए रिक्तियों से अलग i
"। *.bmp
इसे हासिल किया जाता है क्योंकि यह निर्देशिका में सभी फ़ाइल नामों से मेल खाता है।
इसके साथ एक खामी है for
- यदि आपकी निर्देशिका में फ़ाइलों के नाम में रिक्त स्थान हैं, उदाहरण के लिए "शादी की तस्वीर 1.bmp", तो यह i
इन कमांड का प्रदर्शन करते हुए, 3 बार var को सौंपा जाएगा :
convert wedding wedding.jpg
convert picture picture.jpg
convert 1.bmp 1.bmp.jpg
मेरे जवाब में भी मैच "$ {i% bmp}" विफल है।
लेकिन एक समाधान है - आप find
इसके बजाय कमांड का उपयोग कर सकते हैं । man find
विवरण के लिए देखें। आपको निम्नलिखित जैसा कुछ लिखना चाहिए (कृपया इसे आज़माने से पहले मैन पेज के साथ सिंटैक्स की जाँच करें):
find -name *.bmp -type f -exec convert '{}' '{}'.jpg \;
(मैं नाम भाग के बारे में बहुत निश्चित नहीं हूं, और मुझे इस -exec
भाग में कुछ संदेह है , man find
पहले देखें )
यदि आप सभी छवियों को एक .jpg फ़ाइल में शामिल करना चाहते हैं, तो आप उन्हें दूसरे फ़िल्टर के साथ संक्षिप्त कर सकते हैं, जैसा कि पहले उत्तर में बताया गया है।
for i in `ls *.bmp`; do convert $i $i.jpg; done
हाँ, यह फ़ाइल नाम का एक गुच्छा बना देगा जिसे filename.bmp.jpg कहा जाता है लेकिन यह काम करेगा।
ls
।