Grep के बजाय egrep का उपयोग कब करें?


8

मैं अब एक लिनक्स टर्मिनल मूल्यांकन की तैयारी कर रहा हूं, मैंने Google के लिए प्रयास किया और पाया कि अधिकांश संसाधन बुनियादी "grep" की बजाय अधिक शक्तिशाली "egrep" का उल्लेख कर रहे हैं - ठीक है, प्रोफेसर ने व्याख्यान में जो कहा है, वह कम से कम है।

मैं हमेशा छोटे नमूनों के साथ काम कर रहा हूं इसलिए प्रदर्शन ट्यूनिंग बहुत दूर की चीज है।

इसलिए मूल रूप से मैं जानना चाहता हूं कि क्या कोई ऐसा क्षेत्र है जहां मुझे इसे बेहतर तरीके से करने के लिए egrep पर स्विच करना होगा? क्या अब के लिए बुनियादी "grep" के साथ काम करना सुरक्षित है? क्या संभावित जोखिम होंगे?

लिनक्स शेल कमांड पर मेरे सीमित ज्ञान के बारे में क्षमा करें, मैन पेज मुझे एक भूलभुलैया की तरह लग रहा है और ईमानदारी से मैंने दोनों कमांड प्रदान करने वाली सभी विशेषताओं को समझने में ज्यादा समय नहीं लगाया है।

जवाबों:


10

egrep = grep -E

से http://www.opengroup.org/onlinepubs/007908799/xcu/grep.html

"एक्सटेंडेड रेगुलर एक्सप्रेशंस का उपयोग करते हुए मैच करें। एक्सआरडी स्पेसिफिकेशन, एक्सटेंडेड रेगुलर एक्सप्रेशंस में बताए अनुसार, ईआरई के रूप में निर्दिष्ट प्रत्येक पैटर्न को समझें। यदि कोई संपूर्ण ईआरई पैटर्न इनपुट लाइन से मेल खाता है, तो लाइन का मिलान किया जाएगा। एक नल ईआरई हर लाइन से मेल खाता है।"

इसलिए, egrep के साथ आप उपयोग कर सकते हैं +, ?, | and ()


@omfgroflmao: यह सब अंतर है? खैर, अब मैं "egrep" कमांड के बारे में चिंता किए बिना "grep" ट्यूटोरियल पर ध्यान केंद्रित करने के लिए सहज महसूस करता हूं :) आपके टिप के लिए धन्यवाद!

1
चाहे आप इसे कहते हैं egrepया grep -E, विस्तारित नियमित अभिव्यक्ति आम तौर पर जटिल पैटर्न को छोटा करते हैं और इसलिए बहुत सारे `को हटाकर पढ़ने में आसान होते हैं। यह प्रदर्शन के बारे में नहीं है, लेकिन कुछ अर्थों में बेहतर तरीका है।
Cascabel

5

egrep पदावनत है। का उपयोग करें grep -E। ध्यान दें कि grepआप के लिए स्ट्रिंग पैटर्न पाता है। यदि आप उन्हें खोजने के बाद अपने तार के लिए कुछ करना चाहते हैं, तो आपको एक स्ट्रिंग प्रसंस्करण उपकरण जैसे awk(या शेल) पर पाइप करना होगा । जिस टूल में आपको अलोस होना चाहिए वह है awk, जैसा awkकि आप के लिए स्ट्रिंग्स को बहुत पसंद grepकरता है और ज़रूरत पड़ने पर आपके लिए प्रोसेसिंग करता है। यह एक आसान उपकरण में सभी चीजें grep / sed / etc है।


@ ghostdog74: आह, इसलिए egrep का उपयोग नहीं करने की सिफारिश की जाती है ... मुझे लगा कि यह grep के लिए प्रतिस्थापन था ... आपके टिप के लिए धन्यवाद!

2
बस रिकॉर्ड के लिए, कई मशीनों पर, मेरा शामिल है, egrep grep के लिए एक कड़ी है। यही है, वे वास्तव में एक ही सटीक कमांड हैं, लेकिन आप उन्हें कैसे कहते हैं, इसके आधार पर अलग-अलग व्यवहार करते हैं।
MJB
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.