मैं एक नाम बदलने के माध्यम से लिनक्स में फ़ाइल का नाम बदला करता था:
rename 's/old_pattern/new_pattern/g' *glob
क्या मैक ओएस एक्स (स्नो लेपर्ड) में भी कुछ ऐसा ही है?
मैं एक नाम बदलने के माध्यम से लिनक्स में फ़ाइल का नाम बदला करता था:
rename 's/old_pattern/new_pattern/g' *glob
क्या मैक ओएस एक्स (स्नो लेपर्ड) में भी कुछ ऐसा ही है?
जवाबों:
Homebrew के साथ , OS X के लिए एक पैकेज मैनेजर:
brew install rename
फिर आप rename
लिनक्स में उसी कमांड को चला सकते हैं ।
rename-5.22
(जहां 22 स्थापित संस्करण है) का उपयोग करने की आवश्यकता हैrename
sudo mv /opt/local/bin/rename-XXX /opt/local/bin/rename
ZSH की शक्ति का बुद्धिमानी से उपयोग करें ( zsh
यदि आप उन गरीब आत्माओं में से एक हैं जो डिफ़ॉल्ट रूप से इसका उपयोग नहीं करते हैं तो टर्मिनल में टाइप करें):
autoload zmv
zmv '(*).htm' '$1.html'
ZMV MMV सिंटैक्स का अनुसरण करता है ।
*user*.html
, एक्सटेंशन को .html
बदलने और सभी घटनाओं को बदलने के rc
लिए final
: zmv '(*user*).htm' '${1//rc/final}.html'
@ghoppe: मुझे लगता है कि अपने उत्तर की जरूरत में zmv उदाहरण -w
या इसके वाइल्डकार्ड के आसपास कोष्ठक।
*
बजाय का उपयोग करें .*
। *?
गैर-लालची की तरह काम करने लगता है .*?
। 2) मेरे लिए, ^
और $
स्ट्रिंग की शुरुआत और अंत के लिए ऐसा लग रहा था कि यह कुछ भी नहीं होने का कारण है
अनाड़ी मुझे:
for i in *.yourfiles; do mv "$i" "`echo $i | sed 's/old/new/g'`"; done
और अगर आप इसका उपयोग करना चाहते हैं जैसे मैं अक्सर इस तरह करता हूं:
rename 's/old/new/' *.files
मैं ~ / बिन / नाम बदलने में इस लिट्टी स्क्रिप्ट का उपयोग करने की सलाह देता हूं:
#!/usr/bin/env zsh
SUBSEXPR=$1
shift
for i in $@; do mv $i `echo "$i" | sed $SUBSEXPR`; done
आप MacPorts को स्थापित करने और renameutils
पैकेज को स्थापित करने का प्रयास कर सकते हैं :
renameutils @ 0.10.0 (sysutils)
renameutils प्रोग्राम का एक सेट है जिसका नामकरण फ़ाइलों को तेज़ी से और कम बोझिल बनाने के लिए किया गया है
qmv
ऐसा लगता है कि यह काम करता है।
qmv
एक महान उपकरण है, जबकि साधारण रेगेक्स नाम के लिए थोड़ा बहुत काम है, यह बुद्धिमानी से नामकरण और बड़ी संख्या में मनमानी फ़ाइलों को स्थानांतरित करने के लिए शानदार है
नाम बदलने के विभिन्न संस्करण हैं । ऐसा लगता है कि आप पर्ल-आधारित की तलाश कर रहे हैं।
इस उपयोगिता का एक संस्करण File :: Rename Perl मॉड्यूल के साथ आता है । आप इसे कुछ इस तरह से स्थापित कर सकते हैं sudo cpan -i File::Rename
।
या, आप डेबियन के पर्ल पैकेज से नाम बदलकर जा सकते हैं । यह डाउनलोड करने के लिए सिर्फ एक फ़ाइल है। इसे कभी भी जहां आप चाहें पसंद करें और इसे चोद दें ताकि यह निष्पादन योग्य हो।
एक वैकल्पिक zmv उपकरण है जो zsh के साथ आता है । इसमें समान सिंटैक्स नहीं है, लेकिन यह आपके ओएस के साथ आता है और यह आसानी से कई सामान्य मामलों की देखभाल कर सकता है।
Macs पर मैं अरस्तू पगलतज़िस का स्वतंत्र रूप से उपलब्ध उपयोग करता हूं rename
, जो कि डेबियन की तरह पर्ल-आधारित है। आप इसे यहाँ प्राप्त कर सकते हैं । या पहले इसे पढ़ने के लिए यहां जाएं - हमेशा एक अच्छा विचार।
आपको उस जगह को अपने स्थान पर रखने $PATH
और इसे निष्पादन योग्य ( chmod +x rename
) बनाने की आवश्यकता है और फिर आप जाने के लिए अच्छे हैं।
यह मुश्किल नहीं होना चाहिए, लेकिन जाहिरा तौर पर यह है। उदाहरण के लिए, मैं एफ़आईएफ से एआईएफसी तक सभी फ़ाइल एक्सटेंशन का नाम बदलना चाहता हूं।
find . -iname "*.aiff" -exec bash -c 'mv "$0" "${0%\.aiff}.aifc"' {} \;
यदि आप GUI की तलाश कर रहे हैं, तो Name Mangler का प्रयास करें । इसमें एक "पूर्वावलोकन" सुविधा है जो दिखाती है कि यदि आप नाम बदलने के साथ अनुसरण करते हैं तो क्या होगा।
यदि आपको Sublime Text की बहु-पसंद है तो आप इसे qmv के साथ उपयोग कर सकते हैं:
qmv --editor = "/ usr / bin / s3 -w" फाइलें
मैं अभी आगे बढ़ा और अपने पसंदीदा को देखा, जिसे मैंने perl-rename के रूप में संदर्भित किया है, rename
जहां कमांड इस तरह से मदद करता है:
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
यही कारण है कि मुझे पता है कि मुझे वह पसंद है जो मुझे पसंद है।
मैक के लिए, यहां तक कि होमब्रे में उनके पास अन्य हैं जहां मैं सिर्फ अस्पष्ट याद रखता हूं कि उन्हें परेशानी हो रही है। तो यह rename
पैकेज नहीं है , और यह नोंगनु renameutils
पैकेज भी नहीं है।
इसे यहां से प्राप्त करें और जैसा उन्होंने उल्लेख किया है वैसा ही स्थापित करें : https://github.com/subogero/rename
rename
मैक ओएस एक्स पर कैसे स्थापित किया जाए: macosxhints.com/article.php?story=20050630022203488