लगभग कोई भी जिसके पास कंप्यूटर है या जो किसी के साथ काम करता है, उसे टेक्स्ट खोजने के लिए कीबोर्ड शॉर्टकट Ctrl + F पता होगा। "एफ" अंग्रेजी में "फाइंड", "टू फाइंड" से आता है और इसका उपयोग, उदाहरण के लिए, वेब पेज पर टेक्स्ट खोजने के लिए किया जा सकता है। यह शॉर्टकट कई अनुप्रयोगों में भी उपलब्ध है, ऐसे प्रोग्राम हैं जो "बी" का उपयोग "खोज" के लिए करते हैं, लेकिन ये शॉर्टकट केवल तभी काम करते हैं जब हम एप्लिकेशन के अंदर हों और फ़ाइल खुली हो। लिनक्स में हमारे पास बहुत शक्तिशाली उपकरण हैं जो हम टर्मिनल से लॉन्च कर सकते हैं और यदि हम चाहते हैं हमारी टीम में मौजूद किसी भी पाठ को खोजें हम कमांड का उपयोग करेंगे ग्रेप.
ग्रेप यह एक आदेश है जो हमें उस फ़ाइल के भीतर पाठ खोजने में मदद करेगा जो हम इंगित करते हैं। इसका नाम g / re / p से आता है, एक कमांड जो यूनिक्स / लिनक्स टेक्स्ट एडिटर में कुछ इसी तरह काम करता है। कई अन्य आदेशों की तरह, ग्रेप कई हैं उपलब्ध विकल्प जो हम अक्षरों के रूप में जोड़ेंगे और हर एक अलग काम करेगा। इन विकल्पों के संयोजन से हम एक या अधिक फ़ाइलों में जटिल खोज करने में सक्षम होंगे। यहां हम आपको वह सब कुछ दिखाते हैं जो आपको जानना चाहिए।
साथ ग्रेप हमें किसी भी फाइल में कोई भी टेक्स्ट मिलेगा
सबसे पहले हम उपलब्ध विकल्पों की व्याख्या करेंगे:
- -i: ऊपरी और निचले मामले के बीच अंतर नहीं करेगा।
- -w: इसे केवल विशिष्ट शब्दों को खोजने के लिए मजबूर करें।
- -v: उन रेखाओं का चयन करता है जो मेल नहीं खाती हैं।
- -n: अनुरोधित शब्दों के साथ पंक्ति की संख्या को दर्शाता है।
- -h: आउटपुट में यूनिक्स फ़ाइल नाम से उपसर्ग निकालता है।
- -r: निर्देशिकाओं को पुनरावर्ती खोजता है।
- -R: जैसे -आर लेकिन सभी सिम्लिंक का पालन करें।
- -l: चयनित लाइनों के साथ केवल फ़ाइल नाम दिखाता है।
- -c- चयनित लाइनों की प्रति फ़ाइल केवल एक गिनती दिखाता है।
- -रंग: रंगों में मिलान पैटर्न प्रदर्शित करता है।
उस छवि में जो आपने इस लेख को शीर्षक दिया है, मैंने "830.desktop" फ़ाइल में "छवियाँ" शब्द के लिए देखा है जो कि उस मार्ग में है। जैसा कि आप देख सकते हैं, मैंने लिखा है:
grep Imágenes /home/pablinux/Documentos/830.desktop
ध्यान रखें कि इस लेख में हम ऐसे उदाहरण लिखेंगे जिन्हें हमारी खोज प्राथमिकताओं के अनुसार संशोधित किया जाना चाहिए। "फ़ाइल", "वर्ड", आदि कहकर, हम फ़ाइल को इसके पथ के साथ संदर्भित करेंगे। अगर मैंने सिर्फ "grep Images 830.desktop" लिखा होता, तो मुझे एक संदेश मिलता, जिसमें कहा जाता था कि फ़ाइल मौजूद नहीं है। या इसलिए यह तब तक होगा जब तक फ़ाइल रूट डायरेक्टरी में नहीं थी।
अन्य उदाहरण होंगे:
- grep- आई इमेज /home/pablinux/Documentos/830.desktop, जहां "चित्र" वह शब्द होगा जिसे हम खोजना चाहते हैं और शेष फ़ाइल को इसके पथ के साथ। यह उदाहरण "830.desktop" केस असंवेदनशील फ़ाइल में "छवियों" की खोज करेगा।
- grep -R इमेज: यह एक निर्देशिका और उसके सभी उपनिर्देशिकाओं की सभी पंक्तियों की खोज करेगा जहाँ "चित्र" शब्द पाया जाता है।
- grep -c उदाहरण test.txt: यह हमारे लिए दिखेगा और "test.txt" नामक फ़ाइल में "उदाहरण" की कुल संख्या दिखाएगा।
ग्रेप के साथ हम फाइलों को भी खोज सकते हैं
अगर हम चाहते हैं कि फ़ाइल को 830.desktop पाया जाए, तो हम निम्नलिखित कमांड लिखेंगे:
grep 830.desktop
यह एक प्रदर्शन करेंगे हमारे व्यक्तिगत फ़ोल्डर में फ़ाइल «830.desktop» के लिए खोजेंयही है, अगर फ़ाइल किसी अन्य उपयोगकर्ता के व्यक्तिगत फ़ोल्डर में है, तो यह नहीं मिलेगी। यह दुनिया में सबसे सामान्य बात है क्योंकि एक उपयोगकर्ता के पास अपने पासवर्ड के बिना दूसरे की सामग्री तक पहुंचने की अनुमति नहीं है।
पुनरावर्ती खोज कैसे करें
ग्रेप यह भी हमें अनुमति देता है आवर्ती नियमों या दिशानिर्देशों के अधीन खोजें करें। उदाहरण के लिए, प्रत्येक निर्देशिका में सभी फाइलें पढ़ें जिसमें "पाब्लिनक्स" शब्द शामिल है। इसके लिए हम लिखेंगे:
grep -r Pablinux /home/
ओ अच्छा:
grep -R Pablinux /home/
हम "पाब्लिनक्स" के परिणामों को फ़ाइल के नाम से पहले एक अलग लाइन पर देखेंगे जिसमें यह पाया गया था। यदि हम डेटा आउटपुट में फ़ाइल नामों को नहीं देखना चाहते हैं, तो हम -एच विकल्प ("छिपाने" से; छिपाएँ) का उपयोग करेंगे;
grep -h -R Pablinux /home/
हम विकल्पों में शामिल हो सकते हैं और उद्धरण के बिना "-HR" लिख सकते हैं।
सटीक शब्द खोज कैसे करें
कभी-कभी ऐसी फाइलें होती हैं जिनमें वह होता है जिसे हम किसी और चीज के लिए खोजना चाहते हैं। उदाहरण के लिए, यह यौगिक शब्दों में हमारे साथ हो सकता है और "वन" की खोज करके हम "रेंजर्स" पा सकते हैं। अगर हम चाहें एक सटीक शब्द खोजें हम -w विकल्प का उपयोग करेंगे:
grep -w bosques /home/pablinux/Documentos/vacaciones.txt
ऊपर दिए गए कमांड "वन" की खोज करेंगे, संकेतित पथ में फ़ाइल "vacation.txt" में रेंजरों की अनदेखी करते हुए। यदि हम जो चाहते हैं वह दो अलग-अलग शब्दों के लिए खोज करना है तो हम कमांड का उपयोग करेंगे उदा:
egrep -w bosques|plantas /ruta/del/archivo
जानिए किसी फ़ाइल में शब्द कितनी बार दिखाई देता है
ग्रेप यह भी सक्षम है गिनें कि कोई शब्द कितनी बार दिखाई देता है एक फाइल में। इसके लिए हम -c विकल्प का उपयोग करेंगे:
grep -c prueba /ruta/al/archivo
विकल्प -n जोड़ने पर हम जो देखेंगे वह उस पंक्ति की संख्या है जिसमें शब्द प्रकट होता है।
उलटा लुक
हम इसके विपरीत भी कर सकते हैं, उन पंक्तियों की खोज करें जिनमें एक शब्द नहीं है। इसके लिए हम -v विकल्प का उपयोग करेंगे, जो इस प्रकार होगा:
grep -v la ruta/al/archivo
उपरोक्त कमांड उन सभी लाइनों को प्रदर्शित करेगा जिनमें "द" शब्द नहीं था। यह दस्तावेजों या सूचियों में काम में आ सकता है जिसमें एक शब्द कई बार दोहराया जाता है और किसी कारण से, हमें बाकी लाइनों तक पहुंचने की आवश्यकता होती है।
के साथ सिस्टम की जानकारी एक्सेस करना ग्रेप
ग्रेप न केवल यह फाइलों के भीतर खोज करने में सक्षम है। ये भी सिस्टम जानकारी देखने में सक्षम। पिछले स्क्रीनशॉट में हम देख सकते हैं कि यह हमें कैसे दिखाता है कि हमारे पास पीसी का कौन सा मॉडल है (मुझे पता है कि यह दुनिया का सबसे शक्तिशाली लैपटॉप नहीं है)। इसके लिए हमने कमांड का उपयोग किया है:
cat /proc/cpuinfo | grep -i 'Model'
ओ अच्छा:
grep -i 'Model' /proc/cpuinfo
अगर हम चाहते हैं कि डिस्क इकाइयों के नाम हम देखें, हम लिखेंगे:
dmesg | egrep '(s|h)d[a-z]'
कैसे केवल फ़ाइल नाम मिलान की सूची के लिए
यदि हम एक सूची को केवल फाइलों के नाम के साथ देखना चाहते हैं जो एक खोज से मेल खाती है, तो हम नीचे दिखाए गए अनुसार -l विकल्प का उपयोग करेंगे:
grep -l 'main' *.c
और अगर हम रंगों में शब्द देखना चाहते हैं तो हम लिखेंगे:
grep --color palabra /ruta/al/archivo
जैसा कि आप देख सकते हैं, कमांड ग्रेप एक बहुत शक्तिशाली उपकरण यह विशेष रूप से उन मामलों में लायक है जहां हमें याद नहीं है कि हमने कुछ लिखा है या प्रोग्रामिंग में। इसके अलावा, यह एक तरह से सिस्टम की जानकारी का पता लगाने में हमारी मदद करता है जो टर्मिनल प्रेमी पसंद करेंगे। क्या ग्रंथों को खोजने के लिए कमांड पर यह मार्गदर्शिका आपके लिए उपयोगी है ग्रेप?
हैलो!
जब आप कहते हैं कि Grep का उपयोग फ़ाइलों को खोजने के लिए भी किया जाता है, तो मुझे नहीं लगता कि यह सही है क्योंकि यदि आप grep EXPRESSION चलाते हैं और फ़ाइल को इसे पास नहीं करते हैं, तो यह मानक इनपुट से डेटा इनपुट की प्रतीक्षा करेगा।
मैनुअल पेज के अनुसार:
grep दिए गए PATTERN से मेल खाने वाली लाइनों के लिए नामित इनपुट FILE को खोजता है। यदि कोई फ़ाइल निर्दिष्ट नहीं है, या यदि फ़ाइल "-" दी गई है, तो grep मानक इनपुट खोजता है।
इसलिए आप इसे पाइपलाइनों में उपयोग कर सकते हैं, जैसे कि इस कमांड के आउटपुट को grep पर इनपुट के रूप में पास करके / proc / cpuinfo के आउटपुट को पार्स करता है जिससे आप खोज कर सकते हैं।
एक ग्रीटिंग
बहुत अच्छी पोस्ट।
आप इसे बहुत अच्छी तरह से समझाते हैं और आप सीधे मुद्दे पर जाते हैं।