जवळपास कोणाकडेही संगणक आहे किंवा ज्यांच्याकडे एखाद्याने कार्य केले आहे त्यांना मजकूर शोधण्यासाठी कीबोर्ड शॉर्टकट Ctrl + F माहित असेल. "एफ" इंग्रजीमध्ये "शोधा", "शोधण्यासाठी" वरून आले आहे आणि उदाहरणार्थ, वेब पृष्ठावरील मजकूर शोधण्यासाठी वापरला जाऊ शकतो. हा शॉर्टकट बर्याच अनुप्रयोगांमध्ये उपलब्ध आहे, असे प्रोग्राम आहेत जे "शोध" साठी "बी" वापरतात, परंतु हे शॉर्टकट केवळ आम्ही अनुप्रयोगात असल्यास आणि फाइल उघडल्यासच कार्य करते. लिनक्समधे आमच्याकडे टर्मिनल वरून हवी असेल तर खूप शक्तिशाली टूल्स आहेत आमच्या कार्यसंघामधील कोणताही मजकूर शोधा आम्ही आज्ञा वापरू grep.
grep ही एक कमांड आहे जी आम्हाला सूचित करत असलेल्या फाईलमधील मजकूर शोधण्यास मदत करेल. त्याचे नाव g / re / p आहे, जे कमांड यूनिक्स / लिनक्स टेक्स्ट एडिटरमध्ये सारख्याच गोष्टींसाठी काम करते. इतर अनेक कमांड्स प्रमाणेच grep अनेक आहे आम्ही अक्षरे स्वरूपात जोडू उपलब्ध पर्याय आणि प्रत्येकजण भिन्न कार्य करेल. हे पर्याय एकत्र करून आम्ही एक किंवा अधिक फायलींमध्ये जटिल शोध सक्षम करू. आपणास माहित असणे आवश्यक असलेले सर्व आम्ही येथे दर्शवित आहोत.
फसवणे grep आम्हाला कोणत्याही फाईलमधे कोणताही मजकूर सापडेल
सर्वप्रथम आम्ही उपलब्ध पर्यायांचे स्पष्टीकरण देऊ:
- -i: अप्पर आणि लोअर केसमध्ये फरक नाही.
- -w: केवळ विशिष्ट शब्द शोधण्यास सक्ती करा.
- -v: न जुळणार्या रेषा निवडतात.
- -n: विनंती केलेल्या शब्दांसह ओळीची संख्या दर्शविते.
- -h: आउटपुटमधील युनिक्स फाईल नावावरून उपसर्ग काढून टाकते.
- -r: निर्देशिका निर्देशिका वारंवार शोधते.
- -R: like -r परंतु सर्व प्रतीकात्मक दुव्यांचे अनुसरण करा.
- -l: निवडलेल्या ओळींसह केवळ फाइल नावे दर्शविते.
- -c- निवडलेल्या ओळींच्या प्रति फाइल केवळ एक गणना दर्शविते.
- -रंग: रंगात जुळणारे नमुने दर्शविते.
आपण या लेखाचे शीर्षक असलेल्या प्रतिमेमध्ये मी त्या मार्गावर असलेल्या "830.desktop" फाइलमधील "प्रतिमा" शब्द शोधला आहे. आपण पाहू शकता की, मी असे लिहिले आहे:
grep Imágenes /home/pablinux/Documentos/830.desktop
लक्षात ठेवा की या लेखात आम्ही अशी उदाहरणे लिहू जी आमच्या शोध प्राधान्यांनुसार सुधारित केली गेली पाहिजेत. जेव्हा आपण "फाईल", "शब्द" वगैरे म्हणतो तेव्हा आम्ही फाईलचा मार्ग दाखवत आहोत. मी नुकतेच "ग्रेप प्रतिमा 830.desktop" लिहिले असते तर फाईल अस्तित्त्वात नाही असे मला एक संदेश प्राप्त झाला असता. किंवा म्हणूनच फाईल मूळ निर्देशिकेत नसल्यास असे होईल.
इतर उदाहरणे अशी असतीलः
- grep -i प्रतिमा / home/pablinux/Docamentos/830.desktop, जिथे "प्रतिमा" हा शब्द आपल्याला शोधायचा आहे आणि उर्वरित फाईल त्याच्या मार्गासह. हे उदाहरण "830.desktop" प्रकरणात असंवेदनशील असलेल्या "प्रतिमा" शोधेल.
- ग्रेप -आर प्रतिमा: ते डिरेक्टरीच्या सर्व ओळी आणि त्या सर्व उपनिर्देशिकांचा शोध घेईल जेथे "प्रतिमा" शब्द आढळला आहे.
- grep -c उदाहरण test.txt: हे आमच्यासाठी पाहेल आणि "टेस्ट.टी.टी.टी.टी.टी.टी.टी.टी." नावाच्या फाईलमधे "उदाहरण" किती वेळा दिसते ते दर्शवेल.
ग्रीप सह आम्ही फाईल्स शोधू शकतो
जर आपल्याला 830.desktop ही फाईल शोधायची असेल तर आपण पुढील आज्ञा लिहू.
grep 830.desktop
हे एक करेल आमच्या वैयक्तिक फोल्डरमध्ये «830.desktop file फाइल शोधादुसर्या शब्दांत, फाईल दुसर्या वापरकर्त्याच्या वैयक्तिक फोल्डरमध्ये असल्यास ती सापडली नाही. ही जगातील सर्वात सामान्य गोष्ट आहे कारण वापरकर्त्यास त्याच्या संकेतशब्दाशिवाय दुसर्याच्या सामग्रीवर प्रवेश करण्याची परवानगी नाही.
रिकर्सीव्ह शोध कसे करावे
grep हे देखील आम्हाला परवानगी देते आवर्ती नियम किंवा मार्गदर्शक तत्त्वांच्या अधीन शोध सुरू करा. उदाहरणार्थ, प्रत्येक डिरेक्टरीमधील सर्व फाईल्स वाचा ज्यामध्ये "पॅब्लिनक्स" शब्द आहे. यासाठी आम्ही लिहू:
grep -r Pablinux /home/
हे ठीक आहे:
grep -R Pablinux /home/
ज्या फाईलमध्ये ते सापडले होते त्याच्या नावाच्या आधी एका वेगळ्या ओळीवर आम्ही "पॅब्लिनक्स" चा निकाल पाहु. आम्ही डेटा आउटपुटमध्ये फाईलची नावे पाहू इच्छित नसल्यास आम्ही -h पर्याय वापरू ("लपवा" पासून लपवा):
grep -h -R Pablinux /home/
आम्ही पर्यायांमध्ये सामील होऊ आणि कोट्सशिवाय "-एचआर" लिहू.
अचूक शब्द शोध कसे करावे
कधीकधी अशा फाईल्स असतात ज्यात आम्हाला दुसरे काहीतरी शोधायचे आहे. उदाहरणार्थ, कंपाऊंड शब्दात आणि "जंगले" शोधत आम्हाला "रेंजर्स" आढळू शकतात. आम्हाला पाहिजे असल्यास अचूक शब्द शोधा आम्ही -w पर्याय वापरू:
grep -w bosques /home/pablinux/Documentos/vacaciones.txt
उपरोक्त आदेश संकेतस्थळावरील "छुट्टी.टीएसटीटी" फाइलमध्ये रेंजर्सकडे दुर्लक्ष करून, "जंगले" शोधत आहे. जर आपल्याला दोन भिन्न शब्दांचा शोध घ्यायचा असेल तर आपण ही आज्ञा वापरू egrep:
egrep -w bosques|plantas /ruta/del/archivo
फाइलमध्ये किती वेळा शब्द दिसतो ते जाणून घ्या
grep ते देखील सक्षम आहे किती वेळा शब्द दिसतो ते मोजा फाईलमध्ये त्यासाठी आम्ही -c पर्याय वापरू.
grep -c prueba /ruta/al/archivo
हा पर्याय जोडणे - आपण काय दिसेल या शब्दाच्या ओळीची संख्या.
उलट लुकअप
आपण उलट देखील करू शकतो, शब्द नसलेल्या ओळींचा शोध घ्या. त्यासाठी आम्ही -v पर्याय वापरू, जो खालीलप्रमाणे असेलः
grep -v la ruta/al/archivo
वरील कमांड त्या सर्व ओळी दाखवेल ज्यात "द" हा शब्द नाही. हे दस्तऐवजांमध्ये किंवा याद्या सुलभ होऊ शकते ज्यात एखाद्या शब्दाची पुनरावृत्ती वारंवार होते आणि काही कारणास्तव, आम्हाला उर्वरित ओळींमध्ये प्रवेश करणे आवश्यक आहे.
सह सिस्टम माहिती ingक्सेस करणे grep
grep ते केवळ फायलींमध्ये शोधण्यातच सक्षम नाही. हे देखील आहे सिस्टम माहिती पाहण्यास सक्षम. मागील स्क्रीनशॉटमध्ये आम्ही पाहू शकतो की पीसीचे कोणते मॉडेल आहे हे आम्हाला कसे दर्शवते (हे मला माहित आहे की जगातील सर्वात शक्तिशाली लॅपटॉप नाही). त्यासाठी आम्ही ही कमांड वापरली आहे.
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?
नमस्कार!
जेव्हा आपण असे म्हणता की फाईल्स शोधण्यासाठी ग्रीपचा देखील वापर केला जातो, तेव्हा मला ते योग्य वाटत नाही कारण आपण ग्रीप एक्सप्रेस चालवित असल्यास आणि त्यामध्ये फाइल पास केली नाही तर ती मानक इनपुटमधून डेटा इनपुटची प्रतीक्षा करेल.
मॅन्युअल पृष्ठानुसारः
दिलेल्या पीएटीटीआरएनशी जुळणार्या ओळींसाठी ग्रीप नामित इनपुट फायली शोधते. कोणत्याही फायली निर्दिष्ट केल्या नसल्यास, किंवा फाइल “-” दिल्यास, ग्रेप मानक इनपुट शोधते.
म्हणूनच आपण त्यास पाइपलाइनमध्ये वापरू शकता, जसे की कमांडचे इनपुट आउटपुट म्हणून जीपीपी / सीपीयूइनफोचे विश्लेषण करते ज्यामुळे आपण शोध घेऊ शकता.
धन्यवाद!
खूप चांगली पोस्ट.
आपण हे फार चांगले समजावून सांगता आणि आपण सरळ मुद्द्यावर जाता.