एंड्रॉयड

लिनक्स में नाम बदलें (कई फ़ाइलों का नाम बदलें)

move files and directories in linux - mv command, move or rename, files and directories in linux -17

move files and directories in linux - mv command, move or rename, files and directories in linux -17

विषयसूची:

Anonim

mv कमांड के साथ कई फाइलों और निर्देशिकाओं का नाम बदलना एक थकाऊ प्रक्रिया हो सकती है क्योंकि इसमें पाइप, लूप और इतने पर जटिल कमांड लिखना शामिल है।

यह वह जगह है जहाँ rename काम आता है। यह निर्दिष्ट नाम के साथ उनके नाम में खोज अभिव्यक्ति को बदलकर दी गई फ़ाइलों का नाम बदल देता है।

इस ट्यूटोरियल में, हम बताएंगे कि कैसे rename लिए बैच फ़ाइलों का नाम बदलें।

rename

अलग-अलग सिंटैक्स और सुविधाओं के साथ rename आदेश के दो संस्करण हैं। हम rename आदेश के पर्ल संस्करण का उपयोग करेंगे।

यदि यह संस्करण आपके सिस्टम पर स्थापित नहीं है, तो इसे स्थापित करने के लिए अपने लिनक्स वितरण के पैकेज प्रबंधक का उपयोग करें:

  • उबंटू और डेबियन

    sudo apt update sudo apt install rename

    सेंटोस और फेडोरा

    sudo yum install prename

    आर्क लिनक्स

    yay perl-rename

rename का उपयोग करना

rename आदेश के लिए सामान्य वाक्यविन्यास निम्नलिखित है:

rename perlexpr files

rename कमान मूल रूप से एक पर्ल स्क्रिप्ट है। यह दिए गए files को निर्दिष्ट perlexpr नियमित अभिव्यक्ति के अनुसार नाम perlexpr । आप पर्ल रेगुलर एक्सप्रेशन के बारे में यहाँ पढ़ सकते हैं।

उदाहरण के लिए, निम्न कमांड सभी .css फ़ाइलों के एक्सटेंशन को .scss :

rename 's/.css/.scss/' *.css

आइए अधिक विवरण में कमांड की व्याख्या करें:

  • s/search_pattern/replacement/ - प्रतिस्थापन संचालक। .css - खोज पैटर्न यह प्रतिस्थापन संचालक में पहला तर्क है। rename आदेश दिए गए फ़ाइल नाम में इस पैटर्न की खोज करेगा और यदि यह पाया जाता है तो इसे प्रतिस्थापन तर्क के साथ बदल देगा। .scss - प्रतिस्थापन प्रतिस्थापन ऑपरेटर में दूसरा तर्क। *.css - ".css" एक्सटेंशन वाली सभी फाइलें। वाइल्डकार्ड ( * ) एक प्रतीक है जिसका उपयोग शून्य, एक या अधिक वर्णों का प्रतिनिधित्व करने के लिए किया जाता है।

वास्तविक कमांड चलाने और फ़ाइलों और निर्देशिकाओं का नाम बदलने से पहले -n विकल्प का उपयोग करने के लिए हमेशा एक अच्छा विचार है जो "सूखी रन" का प्रदर्शन करेगा और आपको दिखाएगा कि फ़ाइलों का नाम क्या होगा:

rename -n 's/.css/.scss/' *.css

आउटपुट कुछ इस तरह दिखाई देगा:

rename(file-0.css, file-0.scss) rename(file-1.css, file-1.scss) rename(file-2.css, file-2.scss) rename(file-3.css, file-3.scss) rename(file-4.css, file-4.scss)

डिफ़ॉल्ट रूप से, rename मौजूदा फ़ाइलों को अधिलेखित नहीं करता है। -f विकल्प का उपयोग करें जो मौजूदा फ़ाइलों को अधिलेखित करने के लिए rename बताता है:

rename -f 's/.css/.scss/' *.css

rename -v 's/.css/.scss/' *.css

file-0.css renamed as file-0.scss file-1.css renamed as file-1.scss file-2.css renamed as file-2.scss file-3.css renamed as file-3.scss file-4.css renamed as file-4.scss

नाम बदलने

rename 's/\.jpe?g$/.jpg/i' *

निष्कर्ष

rename आदेश आपको एक साथ कई फ़ाइलों का नाम बदलने की अनुमति देता है, पर्ल नियमित अभिव्यक्तियों का उपयोग करते हुए।

टर्मिनल का नाम बदलें