लिनक्स में फाइलों में टेक्स्ट कैसे खोजें

How Find Text Files Linux



सिस्टम एडमिनिस्ट्रेटर के लिए, टेक्स्ट फाइलों के साथ काम करना एक सामान्य घटना है। शायद कुछ समस्या निवारण के लिए लॉग फ़ाइलों के ढेर से एक विशिष्ट अनुभाग खोजने की आवश्यकता है? या, उस दस्तावेज़ को खोजने की आवश्यकता है जिसमें आवश्यक जानकारी जल्दी हो?

लिनक्स के मामले में, फाइलों में टेक्स्ट खोजने के कई तरीके हैं। बिल्ट-इन टूल और तृतीय-पक्ष एप्लिकेशन दोनों का उपयोग करना संभव है। लिनक्स में फाइलों में टेक्स्ट खोजने का तरीका देखें।







फाइलों में टेक्स्ट ढूँढना

फ़ाइलों की संख्या के आधार पर आपको खोज करनी है, टेक्स्ट खोज करने के दो तरीके हैं: स्वचालित या मैन्युअल। यदि आपको कुछ पाठ फ़ाइलों के साथ काम करना है, तो मैन्युअल खोज अधिक उपयुक्त है। हालांकि, अगर सैकड़ों टेक्स्ट फाइलें हैं, तो स्वचालित खोज सबसे कुशल है।



स्वचालित खोज के लिए, हम grep का उपयोग करेंगे। Grep किसी भी Linux डिस्ट्रो पर पहले से इंस्टॉल आता है। मैन्युअल खोज के लिए, कोई भी आधुनिक टेक्स्ट एडिटर काम करेगा।



grep . का उपयोग करके फ़ाइलों में टेक्स्ट खोजें

लिनक्स में, टेक्स्ट खोजने के लिए grep डिफ़ॉल्ट टूल है। इसका नाम एड कमांड g/re/p से लिया गया है, जो वैश्विक स्तर पर रेगुलर एक्सप्रेशन और प्रिंट मैचिंग लाइनों की खोज के लिए है। यह किसी भी आधुनिक लिनक्स डिस्ट्रो पर उपलब्ध है।





Grep एक कमांड-लाइन टूल है। इसकी कमांड संरचना इस प्रकार है।

$पकड़ <विकल्प> <नियमित अभिव्यक्ति> <फ़ाइल पथ>

जैसा कि grep के नाम से पता चलता है, खोजने के लिए पैटर्न को एक रेगुलर एक्सप्रेशन का उपयोग करके वर्णित किया गया है। रेगुलर एक्सप्रेशन एक विशेष प्रकार का स्ट्रिंग है जो मिलान, पता लगाने और प्रबंधित करने के लिए एक पैटर्न का वर्णन करता है। ग्रेप और रेगुलर एक्सप्रेशन के बारे में अधिक जानने के लिए, देखें नियमित अभिव्यक्ति के साथ grep और egrep का उपयोग करना .



प्रदर्शन उद्देश्यों के लिए, एक नमूना टेक्स्ट फ़ाइल लें। इस उदाहरण में, डाउनलोड करें जीएनयू जनरल पब्लिक लाइसेंस v3.0 टेक्स्ट फ़ाइल .

मूल खोज

grep का उपयोग करने का मूल तरीका एक मूल स्ट्रिंग की खोज करना है।

निम्नलिखित grep कमांड पर एक नज़र डालें। यह टेक्स्ट फ़ाइल में GNU शब्द की खोज करेगा।

$पकड़ 'जीएनयू'एलपीजी-3.0।टेक्स्ट

लाइन नंबर दिखाने के लिए -n फ्लैग का प्रयोग करें।

$पकड़ -एनजीएनयू जीपीएल-3.0।टेक्स्ट

grep का उपयोग करके केस-असंवेदनशील खोज करने के लिए, -i ध्वज का उपयोग करें।

$पकड़ -निजीएनयू जीपीएल-3.0।टेक्स्ट

हो सकता है कि आप खोज मिलान नहीं देखना चाहें, लेकिन केवल उस फ़ाइल नाम को देखें जहां कुछ स्थितियों में मिलान हुआ था। केवल फ़ाइल नाम मुद्रित करने के लिए, -l ध्वज का उपयोग करें। यहां, तारांकन वर्तमान निर्देशिका में सभी पाठ फ़ाइलों का उपयोग करने के लिए दर्शाता है।

$पकड़ -NSबैल की आकृति का बारहसिद्धान्त*

हम अन्य कमांड के आउटपुट को grep में भी पाइप कर सकते हैं।

$बिल्लीएलपीजी-3.0।टेक्स्ट| पकड़ -एनजीएनयू

नियमित अभिव्यक्ति

रेगेक्स खोज को बेहतर बनाने का एक स्मार्ट तरीका प्रदान करता है। इसके अपने नियम हैं। हालांकि, विभिन्न एप्लिकेशन और प्रोग्रामिंग भाषाएं नियमित अभिव्यक्ति को अलग तरह से लागू करती हैं। यहां कुछ उदाहरण दिए गए हैं जिनका उपयोग आप grep के साथ कर सकते हैं।

यह परिभाषित करने के लिए कि स्ट्रिंग को एक लाइन शुरू करने पर पाया जाना है, कैरेट (^) प्रतीक का उपयोग करें।

$पकड़ -एन^ जीएनयू जीपीएल-3.0।टेक्स्ट

यह परिभाषित करने के लिए कि स्ट्रिंग को एक पंक्ति के अंत में पाया जाना है, डॉलर चिह्न ($) का उपयोग करें।

$पकड़ -एनसे $ जीपीएल-3.0।टेक्स्ट

यह वर्णन करने के लिए कि पैटर्न के किसी निश्चित स्थान पर कोई वर्ण हो सकता है, अवधि वर्ण (.) का उपयोग करें। उदाहरण के लिए, यदि G और U के बीच कोई वर्ण है, तो व्यंजक G.U मान्य है।

$पकड़ -एनजीयू जीपीएल-3.0।टेक्स्ट

यह वर्णन करने के लिए कि पैटर्न के किसी विशेष स्थान पर वर्णों का एक उपसमुच्चय हो सकता है, कोष्ठक ([]) का उपयोग करें। उदाहरण के लिए, व्यंजक t[wo]o बताता है कि मिलान दो और केवल दो के लिए मान्य है।

$पकड़ -एनटी[कहा पे]ओ जीपीएल-3.0।टेक्स्ट

विस्तारित नियमित अभिव्यक्ति

जैसा कि नाम से पता चलता है, एक विस्तारित नियमित अभिव्यक्ति बुनियादी नियमित अभिव्यक्तियों की तुलना में अधिक जटिल कार्य कर सकती है। Grep के साथ एक्सटेंडेड रेगुलर एक्सप्रेशन का उपयोग करने के लिए, आपको -E ध्वज का उपयोग करना होगा।

$पकड़ -जन्म <विस्तारित_रेगेक्स> <फ़ाइल>

दो अलग-अलग स्ट्रिंग्स खोजने के लिए, OR ऑपरेटर्स (|) का उपयोग करें।

$पकड़ -जन्मजीएनयू|आम|लाइसेंस जीपीएल-3.0।टेक्स्ट

फाइलों में टेक्स्ट ढूँढना

अब मुख्य भाग आता है। खोज करने के लिए फ़ाइल को मैन्युअल रूप से grep बताने के बजाय, grep इसे स्वचालित रूप से कर सकता है। निम्न कमांड में, grep पैटर्न खोजने के लिए वर्तमान निर्देशिका में सभी उपलब्ध टेक्स्ट फ़ाइलों का उपयोग करेगा।

$पकड़ <regex> *

यदि आप किसी भिन्न निर्देशिका पर खोज करने के लिए grep करना चाहते हैं, तो आपको स्थान निर्दिष्ट करना होगा।

$पकड़ <regex> <निर्देशिका पथ>

यदि फ़ोल्डर हैं, तो डिफ़ॉल्ट रूप से grep उन्हें एक्सप्लोर नहीं करता है। पुनरावर्ती रूप से खोज करने के लिए grep को बताने के लिए, -R ध्वज का उपयोग करें।

$पकड़ -एनआर <regex> <निर्देशिका पथ>

ग्रिप जीयूआई

यदि आप GUI के साथ काम करना पसंद करते हैं लेकिन फिर भी grep की सुविधाओं का आनंद लेना चाहते हैं, तो searchmonkey देखें। यह grep के लिए एक फ्रंट-एंड समाधान है। पैकेज लगभग सभी प्रमुख लिनक्स डिस्ट्रोज़ पर उपलब्ध है।

नैनो का उपयोग करके फाइलों में टेक्स्ट ढूंढें

जीएनयू नैनो एक सरल और शक्तिशाली टेक्स्ट एडिटर है जो किसी भी लिनक्स डिस्ट्रो के साथ आता है। इसमें टेक्स्ट फ़ाइल में टेक्स्ट खोजने के लिए अंतर्निहित सुविधाएं हैं।

ध्यान दें कि इस पद्धति में, आपको टेक्स्ट फ़ाइल खोलनी होगी, और मैन्युअल रूप से खोजना होगा। यह काम करने योग्य है अगर काम करने के लिए केवल कुछ मुट्ठी भर टेक्स्ट फाइलें हैं। यदि और भी है, तो grep का उपयोग करना सबसे इष्टतम विकल्प है।

नैनो में टेक्स्ट फ़ाइल खोलें।

$नैनो <फ़ाइल पथ>

एक स्ट्रिंग मैच खोजने के लिए, Ctrl + W दबाएं। खोजने के लिए स्ट्रिंग टाइप करने के बाद, एंटर दबाएं।

Vim . का उपयोग करके फ़ाइलों में टेक्स्ट खोजें

विम एक प्रसिद्ध और प्रतिष्ठित टेक्स्ट एडिटर हैं। यह एक आधुनिक टेक्स्ट एडिटर के समकक्ष कमांड-लाइन है। विम कई उन्नत सुविधाओं के साथ आता है जैसे प्लगइन्स, मैक्रोज़, ऑटो-पूर्णता, फ़िल्टर इत्यादि।

नैनो के समान, विम एक समय में एक ही फाइल के साथ काम करता है। यदि आपके पास एकाधिक टेक्स्ट फ़ाइलें हैं, तो grep का उपयोग करना सबसे इष्टतम तरीका है।

टेक्स्ट फ़ाइल में खोजने के लिए, पहले इसे विम में खोलें।

$मैं आया <फ़ाइल पथ>

निम्नलिखित विम कमांड दर्ज करें और एंटर दबाएं।

$:/<जाँच अवधि>

गनोम टेक्स्ट एडिटर का उपयोग करके फाइलों में टेक्स्ट खोजें

गनोम टेक्स्ट एडिटर टेक्स्ट एडिटर है जो गनोम डेस्कटॉप के साथ आता है। यह उन सभी मूलभूत सुविधाओं के साथ एक सरल पाठ संपादक है जिनकी आप अपेक्षा करते हैं। यह कमांड-लाइन टेक्स्ट एडिटर्स का एक अच्छा विकल्प है।

नैनो और विम के समान, इस पद्धति पर भी यही सावधानी लागू होती है। यदि टेक्स्ट फ़ाइलों की संख्या बड़ी है, तो आप बेहतर तरीके से grep से चिपके रहते हैं।

टेक्स्ट एडिटर में टेक्स्ट फाइल खोलें। सर्च बार को ऊपर लाने के लिए Ctrl + F दबाएं।

वीएस कोड का उपयोग करके फाइलों में टेक्स्ट ढूंढें

विजुअल स्टूडियो कोड ढ़ेरों सुविधाओं के साथ एक शक्तिशाली टेक्स्ट एडिटर है। इसे प्रोग्रामर्स के लिए अनुकूलित किया गया है जैसे कि यह एक पूर्ण आईडीई है। यह लगभग सभी प्रमुख लिनक्स डिस्ट्रोज़ पर उपलब्ध है।

विजुअल स्टूडियो कोड स्नैप पैकेज स्थापित करें।

$सुडोचटकानाइंस्टॉलकोड--क्लासिक

वीएस कोड में टेक्स्ट फ़ाइल खोलें। खोज शुरू करने के लिए Ctrl + F दबाएं।

अंतिम विचार

फाइलों में टेक्स्ट खोजने के कई तरीके हैं। इसमें महारत हासिल करना आसान काम है। grep कमांड में महारत हासिल करने की दृढ़ता से अनुशंसा की जाती है क्योंकि यह दक्षता और उपयोग में आसानी के मामले में सबसे अधिक मूल्य प्रदान करता है।

यदि आप जीयूआई पसंद करते हैं, तो चुनने के लिए कई टेक्स्ट एडिटर हैं। कोई भी आधुनिक पाठ संपादक पाठ खोज विकल्प प्रदान करेगा।

हैप्पी कंप्यूटिंग!