में किसी फ़ोल्डर में सभी फ़ाइलों में .xml एक्सटेंशन कैसे जोड़ें I फ़ोल्डर में सभी फ़ाइलों का नाम बदलना और .xml
एक्सटेंशन जोड़ें। मैं यूनिक्स का उपयोग कर रहा हूँ। मैं उसे कैसे कर सकता हूँ?यूनिक्स/लिनक्स
उत्तर
खोल पर, आप यह कर सकते हैं:
for file in $(find -type f); do
mv ${file} ${file}.xml
done
अन्य पर:
for file in *; do
if [ -f ${file} ]; then
mv ${file} ${file}.xml
fi
done
संपादित
रिकर्सिवली सभी सबडायरेक्टरियों पर ऐसा करने के लिए, आप find
का उपयोग करना चाहिए हाथ, यदि आप इससे कुछ अधिक जटिल करने जा रहे हैं, तो आपको शायद shell
स्क्रिप्ट का उपयोग नहीं करना चाहिए।
अभी भी बेहतर है
नीचे Jonathan Leffler द्वारा प्रदान की टिप्पणी का उपयोग करें:
find . -type f -exec mv {} {}.xml ';'
मैं इसे सभी उप निर्देशिकाओं पर भी कैसे कर सकता हूं – aWebDeveloper
फ़ाइलों को ढूंढने के लिए 'ढूंढें' का उपयोग करें; 'ढूंढो। -type f -exec mv {} {} .xml ';' '। –
उत्तर अद्यतन किया गया। –
में अजगर:
उपयोग os.listdir
एक निर्देशिका में सभी फ़ाइलों के नाम खोजने के लिए। यदि आपको रिकर्सिवली उप-निर्देशिकाओं में सभी फ़ाइलों को भी ढूंढने की आवश्यकता है, तो इसके बजाय os.walk
का उपयोग करें। इसकी एपीआई os.listdir
से अधिक जटिल है लेकिन यह निर्देशिकाओं को पुनरावर्ती चलने के शक्तिशाली तरीके प्रदान करती है।
फिर फ़ाइलों का नाम बदलने के लिए os.rename
का उपयोग करें।
कुछ नमूना कोड या उदाहरण या लिंक। मुझे पाइथन – aWebDeveloper
@ वेब डेवलपर नहीं पता: क्या आपने मुझे जवाब देने के लिए -1 -1 किया था? गंभीरता से? –
नहीं, मैंने गलती से इसे क्लिक किया है, मैंने तुरंत इसे पूर्ववत कर दिया है – aWebDeveloper
अगर यह मानक है पता नहीं है, लेकिन मेरे Perl
पैकेज (Debian/Ubuntu) एक /usr/bin/prename
भी शामिल है (और एक सिम्लिंक बस rename
) जिसका कोई अन्य उद्देश्य नहीं है:
rename 's/$/.xml/' *
मैं इसे सभी उप निर्देशिकाओं पर भी पुनरावर्ती रूप से कैसे करूं लेकिन .xml फ़ाइलों पर नहीं। यानी उन फ़ाइलों को जिन्हें पहले से नामित नहीं किया गया है – aWebDeveloper
'*' के बजाय '$ (find -type f)' के साथ। और एक दावे/(? mario
के साथ रेगेक्स को अपनाने का उपयोग करने के लिए आप वास्तव में फ़ाइलों का नाम बदलने के बिना नाम बदलने के लिए ध्वज के साथ नाम का उपयोग कर सकते हैं। –
find . -type f \! -name '*.xml' -print0 | xargs -0 rename 's/$/.xml/'
ये टैग भ्रम पैदा करते हैं। क्या आप इसे PHP, पायथन या यूनिक्स शैल में करना चाहते हैं? – rds
नाम बदलें/$/\। Xml/'* संदर्भ: http://askubuntu.com/a/74368 – Neil