विकिपीडिया के मुताबिक, मेटाएक्टेक्टर किसी भी चरित्र का होता है जिसका विशेष अर्थ होता है, जैसे कैरेट (^), डॉलर का चिह्न ($) या तारांकन (*)।
लिनक्स के संदर्भ में, इन मेटाएक्टेक्टरों की एक उचित संख्या है और उनके अर्थ अलग-अलग कमांड या प्रोग्राम के आधार पर भिन्न हैं।
एक मेटाएक्टेक्टर (।) के रूप में पूर्ण रोक
नम्र पूर्ण स्टॉप का उपयोग वर्तमान स्थिति को दान करने के लिए किया जाता है जब सीडी , ढूंढ या शॉर्ट जैसे कमांड चलाते हैं लेकिन अजेक , grep और sed जैसे अनुप्रयोगों के भीतर इसका उपयोग किसी भी चरित्र को दर्शाने के लिए किया जाता है।
उदाहरण के तौर पर, निम्न आदेश वर्तमान फ़ोल्डर में और नीचे सभी एमपी 3 फ़ाइलों को पायेगा।
ढूंढो -नाम *। एमपी 3
यदि आप उस कमांड को आपके पास काम करने वाली निर्देशिका (pwd) प्रस्तुत करते हैं तो आपको शायद परिणाम वापस आ जाएंगे, मान लें कि आप अपने एमपी 3 फ़ाइलों को अपने घर फ़ोल्डर में संगीत फ़ोल्डर में रखते हैं।
अब इस कमांड को देखें:
पीएस-एफआई | grep f..efox
Ps कमांड आपके कंप्यूटर पर सभी चल रही प्रक्रियाओं को सूचीबद्ध करता है। Grep कमांड पैटर्न के लिए इनपुट और खोज की रेखाएं लेता है।
इसलिए ps -ef कमांड को चल रही प्रक्रियाओं की एक सूची मिलती है और इसे grep को देता है जो सूची में किसी भी पंक्ति की खोज करता है जिसमें f..efox है। किसी भी चरित्र का मतलब हो सकता है।
यदि आपके पास फ़ायरफ़ॉक्स चल रहा है तो आपको एक मैच मिल जाएगा। इसी प्रकार, यदि आपके पास फॉनफ़ॉक्स या फ्रीफ़ॉक्स चलाने वाला प्रोग्राम है तो वे भी वापस आ जाएंगे।
मेटाएक्टेक्टर के रूप में तारांकन (*)
तारांकन एक अधिक सार्वभौमिक रूप से प्रसिद्ध मेटाएक्टेक्टर है और पैटर्न के लिए खोज करते समय 0 या उससे अधिक का मतलब है।
उदाहरण के लिए:
ढूंढो -नाम *। एमपी 3
* .mp3 किसी भी फ़ाइल नाम के लिए एक मैच देता है जो .mp3 में समाप्त होता है। इसी प्रकार, मैं निम्नलिखित कार्यक्रमों के रूप में grep कमांड के साथ तारांकन का उपयोग कर सकता था:
पीएस-एफआई | grep एफ * efox
यह ध्यान देने योग्य है कि यह थोड़ा अलग है क्योंकि तारांकन का मतलब शून्य या अधिक है, साथ ही साथ फ़ायरफ़ॉक्स, फेसफ़ॉक्स और फोनेफ़ॉक्स ढूंढना भी यह बांसफॉक्स, फेरेटफॉक्स और यहां तक कि केवल फेफॉक्स भी ढूंढ सकता है।
एक मेटाएक्टेक्टर के रूप में कैरेट (^)
कैरेट (^) का उपयोग लाइन या स्ट्रिंग की शुरुआत को दर्शाने के लिए किया जाता है। तो इसका उपयोग कैसे किया जाता है?
Ls कमांड का उपयोग फ़ोल्डर में सभी फ़ाइलों को निम्नानुसार सूचीबद्ध करने के लिए किया जाता है:
ls
यदि आप किसी फ़ोल्डर में सभी फ़ाइलों को जानना चाहते हैं जो "gnome" जैसे किसी निश्चित स्ट्रिंग से शुरू होते हैं तो उस स्ट्रिंग को निर्दिष्ट करने के लिए कैरेट का उपयोग किया जा सकता है।
उदाहरण के लिए:
एलएस | grep ^ gnome
ध्यान दें कि यह केवल उन फ़ाइलों को सूचीबद्ध करता है जो gnome से शुरू होते हैं। यदि आप फाइलें चाहते हैं जिनके पास फ़ाइल नाम में एक gnome है तो आप फिर से तारांकन पर वापस आ जाएंगे।
उपर्युक्त उदाहरण में, ls फ़ाइल नामों की एक सूची देता है और पास करता है जो grep को सूचीबद्ध करता है जिसका उपयोग पैटर्न मिलान के लिए किया जाता है। grep जानता है कि कैरेट प्रतीक का मतलब है कि उसके बाद आने वाले पात्रों से शुरू होता है और इस मामले में, यह एक gnome है।
एक मेटाएक्टेक्टर के रूप में डॉलर प्रतीक ($)
डॉलर के प्रतीक में लिनक्स के भीतर मेटाएक्टेक्टर के रूप में कई अर्थ हो सकते हैं।
जब पैटर्न से मिलान करने के लिए उपयोग किया जाता है तो इसका मतलब कैरेट के विपरीत होता है और किसी विशेष स्ट्रिंग के साथ समाप्त होने वाले किसी भी पैटर्न को इंगित करता है।
उदाहरण के लिए:
एलएस | grep png $
यह सभी फाइलों को सूचीबद्ध करता है जो पीएनजी के साथ समाप्त होते हैं।
डॉलर के प्रतीक का उपयोग बैश खोल के भीतर पर्यावरण चरों तक पहुंचने के लिए भी किया जाता है।
उदाहरण के लिए:
निर्यात कुत्ता = मौली
$ कुत्ते गूंजें
लाइन निर्यात कुत्ता = मौली कुत्ते नामक एक पर्यावरण चर बनाता है और इसके मूल्य को मौली के लिए सेट करता है। पर्यावरण चर का उपयोग करने के लिए $ प्रतीक का उपयोग किया जाता है। $ प्रतीक के साथ गूंज $ कुत्ता कथन मौली दिखाता है लेकिन इसके बिना, गूंज कुत्ते का बयान सिर्फ कुत्ते शब्द प्रदर्शित करता है।
मेटाएक्टेक्टर से बचें
कभी-कभी आप नहीं चाहते कि मेटाएक्टेक्टर का विशेष अर्थ हो। क्या होगा यदि आपके पास f.refox नामक एक फ़ाइल है और फ़ायरफ़ॉक्स नामक एक फ़ाइल है।
अब निम्न आदेश देखें:
एलएस | grep f.refox
आपको क्या लगता है वापस आ गया है? F.refox और फ़ायरफ़ॉक्स दोनों लौटाए जाते हैं क्योंकि वे दोनों पैटर्न से मेल खाते हैं।
केवल f.refox को लौटने के लिए आपको पूर्ण स्टॉप से बचने की आवश्यकता होगी, वास्तव में इसका मतलब है कि पूर्ण स्टॉप का अर्थ है:
एलएस | grep f \\। refox
सामान्य मेटाएक्टेक्टर और उनके अर्थ
चरित्र | अर्थ |
। | कोई चरित्र |
* | शून्य या अधिक अक्षर |
^ | किसी भी रेखा या स्ट्रिंग से मिलान करें जो पैटर्न से शुरू होता है (यानी ^ gnome) |
$ | किसी भी रेखा या स्ट्रिंग को पैटर्न के साथ समाप्त करें (यानी gnome $) |
\ | अपने विशेष अर्थ को हटाने के लिए अगले चरित्र से बच निकलता है |
[] | किसी सूची या श्रेणी से मिलान करें (यानी ["एबीसी", "डीफ़"] या [1..9] |
+ | एक या अधिक से पहले मिलान करें (यानी grep a +) |
? | शून्य या एक से पहले मैच |