ग्रेप वापरून सामन्यांच्या आसपासच्या रेषा प्रदर्शित करणे

ग्रेप वापरून सामन्यांच्या आसपासच्या रेषा प्रदर्शित करणे
Bash

संदर्भित शोधांसाठी ग्रेप मास्टरिंग

मजकूर फाइल्ससह कार्य करताना, विशिष्ट नमुने किंवा स्ट्रिंग शोधणे आवश्यक असते. Unix/Linux मधील `grep` कमांड या उद्देशासाठी एक शक्तिशाली साधन आहे. तथापि, कधीकधी फक्त सामना शोधणे पुरेसे नसते; संदर्भ समजून घेण्यासाठी तुम्हाला जुळलेल्या पॅटर्नच्या सभोवतालच्या रेषा देखील पाहण्याची आवश्यकता असू शकते.

या लेखात, आम्ही फक्त तुमचे इच्छित नमुने शोधण्यासाठीच नाही तर प्रत्येक सामन्यासाठी आधीच्या आणि पुढील पाच ओळी प्रदर्शित करण्यासाठी `grep` कसे वापरायचे ते एक्सप्लोर करू. हे तंत्र डीबगिंग, लॉग विश्लेषण आणि डेटा काढण्याच्या कार्यांसाठी अमूल्य आहे.

आज्ञा वर्णन
grep -C प्रत्येक जुळणीपूर्वी आणि नंतर संदर्भाच्या निर्दिष्ट संख्येसह जुळलेल्या रेषा प्रदर्शित करते.
#!/bin/bash स्क्रिप्ट बॅश शेल वातावरणात चालवावी असे निर्देशीत करते.
import re पायथनमध्ये रेग्युलर एक्सप्रेशन लायब्ररी इंपोर्ट करते, जी स्ट्रिंग्समध्ये पॅटर्न जुळण्यासाठी परवानगी देते.
max() नकारात्मक निर्देशांक टाळण्यासाठी येथे वापरलेली सर्वात मोठी इनपुट मूल्ये मिळवते.
min() सूची लांबीच्या पलीकडे निर्देशांक टाळण्यासाठी येथे वापरलेली सर्वात लहान इनपुट मूल्ये मिळवते.
enumerate() पुनरावृत्ती करण्यायोग्य मध्ये एक काउंटर जोडते, लूपमध्ये अनुक्रमणिका आणि मूल्य दोन्ही मिळविण्यासाठी उपयुक्त.
sys.argv पायथन स्क्रिप्टला पास केलेल्या कमांड-लाइन वितर्कांमध्ये प्रवेश प्रदान करते.

ग्रेप संदर्भित शोध स्क्रिप्ट समजून घेणे

बॅशमध्ये लिहिलेली पहिली स्क्रिप्ट, याचा फायदा घेते grep फाईलमधील नमुने शोधण्यासाठी कमांड आणि प्रत्येक जुळणीच्या आसपासच्या रेषा प्रदर्शित करा. द पर्याय विशेषतः शक्तिशाली आहे, कारण तो वापरकर्त्यांना प्रत्येक सामन्यापूर्वी आणि नंतर प्रदर्शित करण्यासाठी संदर्भाच्या ओळींची संख्या निर्दिष्ट करण्यास अनुमती देतो. या स्क्रिप्टमध्ये, वापरकर्ता वितर्क म्हणून शोध नमुना आणि फाइलनाव प्रदान करतो. स्क्रिप्ट नंतर कार्यान्वित होते grep -C 5, कुठे -C 5 सांगते grep प्रत्येक जुळणाऱ्या ओळीच्या आधी आणि नंतरच्या पाच ओळी दाखवण्यासाठी. हा दृष्टीकोन मोठ्या मजकूर फाइल्समधील जुळण्या द्रुतपणे शोधण्यासाठी आणि संदर्भित करण्यासाठी सरळ आणि कार्यक्षम आहे, ज्यामुळे लॉग विश्लेषण किंवा डीबगिंग सारख्या कार्यांसाठी ते आदर्श बनते.

पायथनमध्ये लिहिलेली दुसरी स्क्रिप्ट, समान ध्येय साध्य करण्यासाठी अधिक प्रोग्रामेटिक दृष्टीकोन देते. ते वापरते नियमित अभिव्यक्ती जुळण्यासाठी मॉड्यूल आणि sys.argv कमांड लाइन वितर्क हाताळण्यासाठी. द फंक्शन ओळींच्या सूचीमध्ये फाइल वाचते आणि त्यांच्याद्वारे पुनरावृत्ती करते, वापरून जुळणीसाठी प्रत्येक ओळ तपासते re.search. जेव्हा एखादी जुळणी आढळते, तेव्हा ते सामन्याच्या आधी आणि नंतर निर्दिष्ट केलेल्या ओळींची संख्या समाविष्ट करण्यासाठी प्रारंभ आणि समाप्ती निर्देशांकांची गणना करते, ते वापरून सूचीच्या मर्यादेत राहतील याची खात्री करते. आणि min कार्ये ही स्क्रिप्ट लवचिकता प्रदान करते आणि विशिष्ट गरजा पूर्ण करण्यासाठी सहजपणे विस्तारित किंवा सुधारित केली जाऊ शकते, जसे की संदर्भ श्रेणी बदलणे किंवा इतर डेटा प्रोसेसिंग कार्यांसह एकत्रित करणे.

संदर्भ रेखा शोधांसाठी ग्रेप कसे वापरावे

संदर्भ रेखा शोधांसाठी बॅश स्क्रिप्ट

#!/bin/bash
# Usage: ./script.sh pattern filename
pattern=$1
filename=$2
grep -C 5 "$pattern" "$filename"

संदर्भ पर्यायांसह ग्रेप वापरणे

संदर्भासह ग्रेपची नक्कल करण्यासाठी पायथन स्क्रिप्ट

संदर्भित शोधांसाठी प्रगत ग्रेप पर्याय एक्सप्लोर करणे

मूळच्या पलीकडे पर्याय, अनेक प्रगत grep पॅटर्न शोधताना आणि आसपासच्या रेषा प्रदर्शित करताना पर्याय आणखी नियंत्रण आणि लवचिकता प्रदान करतात. असा एक पर्याय आहे grep -A, जे प्रत्येक जुळणीनंतर ओळींची निर्दिष्ट संख्या प्रदर्शित करते. हे विशेषतः उपयुक्त ठरू शकते जेव्हा सामन्यानंतरचा संदर्भ तुमच्या विश्लेषणासाठी अधिक गंभीर असतो. त्याचप्रमाणे, grep -B प्रत्येक सामन्यापूर्वी ओळी दर्शविते, अग्रगण्य संदर्भाचे लक्ष केंद्रित दृश्य ऑफर करते. हे पर्याय एकत्र करून, तुम्ही तुमच्या गरजा तंतोतंत बसण्यासाठी आउटपुट तयार करू शकता.

आणखी एक शक्तिशाली वैशिष्ट्य म्हणजे आतील नियमित अभिव्यक्तींचा वापर grep. रेग्युलर एक्स्प्रेशन्सचा फायदा घेऊन, तुम्ही अधिक जटिल शोध करू शकता जे साध्या स्ट्रिंग जुळणीच्या पलीकडे जातात. उदाहरणार्थ, वापरणे -E सह पर्याय grep विस्तारित नियमित अभिव्यक्ती वापरण्यास अनुमती देते, अधिक व्यापक नमुना जुळण्याची क्षमता प्रदान करते. हे अशा परिस्थितीत उपयुक्त आहे जेथे तुम्हाला वेगवेगळ्या लांबी किंवा स्वरूपांसह नमुने जुळणे आवश्यक आहे. याव्यतिरिक्त, grep चे समर्थन करते --color पर्याय, जे आउटपुटमध्ये जुळलेले नमुने हायलाइट करते, ज्यामुळे मजकूराच्या मोठ्या ब्लॉक्समधील जुळण्या दृष्यदृष्ट्या ओळखणे सोपे होते.

ग्रेप आणि संदर्भित शोधांबद्दल सामान्य प्रश्न

  1. मी grep वापरून प्रत्येक सामन्यानंतर फक्त ओळी कशा प्रदर्शित करू शकतो?
  2. वापरा grep -A प्रत्येक जुळणीनंतर तुम्ही प्रदर्शित करू इच्छित असलेल्या ओळींच्या संख्येनंतर पर्याय.
  3. grep सह सामन्यापूर्वी मी ओळी कशी दर्शवू?
  4. grep -B पर्याय तुम्हाला प्रत्येक सामन्यापूर्वी ओळी प्रदर्शित करण्यास अनुमती देतो, त्यानंतर ओळींची संख्या.
  5. मी सामन्याच्या आधी आणि नंतर दोन्ही ओळी दाखवण्यासाठी पर्याय एकत्र करू शकतो का?
  6. होय, एकत्र करणे grep -A आणि -B पर्याय प्रत्येक सामन्यापूर्वी आणि नंतर दोन्ही ओळी दर्शवतील.
  7. grep --color पर्याय काय करतो?
  8. --color पर्याय आउटपुटमध्ये जुळलेले नमुने हायलाइट करते, त्यांना पाहणे सोपे करते.
  9. मी grep सह रेग्युलर एक्सप्रेशन कसे वापरू शकतो?
  10. वापरा २५ अधिक जटिल नमुना जुळणीसाठी विस्तारित नियमित अभिव्यक्ती सक्षम करण्याचा पर्याय.
  11. सामने grep प्रदर्शनांची संख्या मर्यादित करण्याचा एक मार्ग आहे का?
  12. होय, द २६ एका क्रमांकानंतरचा पर्याय प्रदर्शित झालेल्या सामन्यांची संख्या मर्यादित करतो.
  13. मी grep शोध केस-संवेदनशील करू शकतो का?
  14. वापरून २७ पर्याय शोध केस-संवेदनशील बनवतो.
  15. मी grep सह एकाधिक फाईल्समध्ये पॅटर्न कसे शोधू?
  16. तुम्ही एकाधिक फाइलनावे प्रदान करू शकता किंवा वाइल्डकार्ड वापरू शकता grep एकाच वेळी अनेक फायली शोधण्यासाठी.

संदर्भित शोधांसाठी प्रगत ग्रेप पर्याय एक्सप्लोर करणे

मूळच्या पलीकडे पर्याय, अनेक प्रगत grep पॅटर्न शोधताना आणि आसपासच्या रेषा प्रदर्शित करताना पर्याय आणखी नियंत्रण आणि लवचिकता प्रदान करतात. असा एक पर्याय आहे grep -A, जे प्रत्येक जुळणीनंतर ओळींची निर्दिष्ट संख्या प्रदर्शित करते. हे विशेषतः उपयुक्त ठरू शकते जेव्हा सामन्यानंतरचा संदर्भ तुमच्या विश्लेषणासाठी अधिक गंभीर असतो. त्याचप्रमाणे, grep -B प्रत्येक सामन्यापूर्वी ओळी दर्शविते, अग्रगण्य संदर्भाचे लक्ष केंद्रित दृश्य ऑफर करते. हे पर्याय एकत्र करून, तुम्ही तुमच्या गरजा तंतोतंत बसण्यासाठी आउटपुट तयार करू शकता.

आणखी एक शक्तिशाली वैशिष्ट्य म्हणजे आत नियमित अभिव्यक्तींचा वापर grep. रेग्युलर एक्स्प्रेशन्सचा फायदा घेऊन, तुम्ही अधिक जटिल शोध करू शकता जे साध्या स्ट्रिंग जुळणीच्या पलीकडे जातात. उदाहरणार्थ, वापरणे -E सह पर्याय grep विस्तारित नियमित अभिव्यक्ती वापरण्यास अनुमती देते, अधिक व्यापक नमुना जुळण्याची क्षमता प्रदान करते. हे अशा परिस्थितीत उपयुक्त आहे जेथे तुम्हाला वेगवेगळ्या लांबी किंवा स्वरूपांसह नमुने जुळणे आवश्यक आहे. याव्यतिरिक्त, grep चे समर्थन करते --color पर्याय, जे आउटपुटमध्ये जुळलेले नमुने हायलाइट करते, ज्यामुळे मजकूराच्या मोठ्या ब्लॉक्समधील जुळण्या दृष्यदृष्ट्या ओळखणे सोपे होते.

मुख्य मुद्द्यांचा सारांश

एकत्र करून grep पर्याय आणि स्क्रिप्टिंग भाषा जसे Python, तुम्ही कार्यक्षमतेने नमुने शोधू शकता आणि मजकूर फाइल्समध्ये आसपासच्या संदर्भ रेषा प्रदर्शित करू शकता. या पद्धती डेटाचे विश्लेषण आणि अर्थ लावण्याची तुमची क्षमता वाढवतात, त्यांना लॉग विश्लेषण, डीबगिंग आणि डेटा एक्स्ट्रॅक्शन कार्यांसाठी मौल्यवान साधने बनवतात.