आइए मान लें कि आपके पास गलत फ़ाइल नामों के साथ सैकड़ों फाइलें हैं, और आप प्रत्येक फ़ाइल नाम को प्रतिस्थापित करना चाहते हैं परीक्षा साथ में ठेस। (यह एक संक्षिप्त उदाहरण है)। हम आसानी से बैश में "फॉर" कमांड के साथ ऐसा कर सकते हैं, जिसमें थोड़ी सी चीज की भलाई होती है। आज हम एक लूप में एक चर में पाठ को प्रतिस्थापित करने के तरीके सीखेंगे।
"For" कमांड इस तरह काम करता है:
for var in ;do $var;done
आप बदल सकते हैं
यह वह जगह है जहां बैश परिवर्तनीय हैंडलिंग इसे और भी दिलचस्प बनाता है। "एमवी $ var" जैसे कुछ करने के बजाय, हम इस वाक्यविन्यास का उपयोग कर फ़ाइल नाम में पाठ को प्रतिस्थापित कर सकते हैं:
${var/originaltext/replacetext}
तो अब, अगर हम इस निर्देशिका को हमारी निर्देशिका पर चलाते हैं:
for f in *;do mv $f ${f/test/prod};done
* द्वारा मिलान की गई प्रत्येक फ़ाइल के लिए, bash इस तरह के कमांड निष्पादित करेगा:
mv test.config prod.config
मैंने पाया है कि सर्वर का प्रबंधन करते समय या केवल आपके फ़ाइल संग्रह को प्रबंधित करने के लिए खोल का ज्ञान अमूल्य है, और मुझे मैन्युअल रूप से मैन्युअल काम करने के घंटों को बचाया है।
और हां, मुझे एहसास है कि कई टूल हैं जो कई फाइलों का नाम बदल सकते हैं।