खोज के साथ विस्तार को स्वीकार करना?


11

मुझे कई .png फ़ाइलों से थंबनेल बनाने की आवश्यकता है और ImageMagicks convertउपयोगिता का उपयोग करके ऐसा करना चाहते हैं । उन सभी फ़ाइलों को पुन: प्राप्त करने के लिए जो स्वयं थंबनेल नहीं हैं, मैं निम्नलिखित कॉल का उपयोग कर रहा हूं (इसे पठनीय बनाने के लिए दो लाइनों में विभाजित करें):

find . -type f -name "*.png" -not -name "*thumb.png*" \
  -exec convert {} -thumbnail 200x200 {}.thumb.png \;`

लेकिन यह निश्चित रूप से एक फ़ाइल का नाम बनाएगा a.png.thumb.pngजब इसे एक फ़ाइल पर बुलाया जाएगा a.png। मैं परिवर्तित करने के लिए .pngदिए गए दूसरे {}पैरामीटर से एक्सटेंशन को कैसे हटा सकता हूं ?

जवाबों:


14

ऐसा करने का सबसे आसान तरीका यह है कि {}आप किसी शेल को बंद करें shऔर शेल को ऐसा करें:

find ... \
    -exec sh -c 'convert "$0" -thumbnail 200x200 "${0%.png}.thumb.png"' {} \;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.