जवाबों:
मानक grepवाक्यविन्यास के साथ :
grep '[>|]'
या
grep -e '>' -e '|'
या
grep '>
|'
या
grep -E '>|\|'
यदि आप GNU grep का उपयोग कर रहे हैं, तो आप इसे या ऑपरेटर ( |) के साथ कर सकते हैं , जिसे बच जाना चाहिए (बैकस्लैश से पहले \)। इसलिए पाइप या अधिक से अधिक चिह्न वाली रेखाओं को खोजने के लिए, उन्हें शाब्दिक रूप से या ऑपरेटर के साथ शामिल करें :
grep '|\|>' infile
आउटपुट:
|this is test
where is >
+, ?के लिए वाक्यात्मक चीनी जा रहा है) \{1,\}और \{0,1\}। (दूसरी ओर, ईआरईज़ बैक रेफ़रेंस ( \(.\)\1) जो कि केवल एक BRE फीचर हैं)
वांछित पात्रों में से किसी से मेल खाने के लिए ब्रैकेट अभिव्यक्ति का उपयोग करना:
grep "[|>]" infile
आउटपुट:
|this is test
where is >
-iया तो कोई जरूरत नहीं -Eहै।
इसे पूरा करने का सही तरीका -e ध्वज का उपयोग करना है जो POSIX द्वारा निर्दिष्ट है। उदाहरण के लिए:
grep -e '>\||' infile
grep -e '>' -e '|' infileकाम भी करता है।
-ePOSIX द्वारा निर्दिष्ट किया गया है, लेकिन यहां उपयोगी नहीं है। \|POSIX द्वारा निर्दिष्ट नहीं है।
\|एक मानकBREऑपरेटर नहीं है , हालांकि यह GNU के साथ काम करता हैgrepजोgrepलिनक्स कर्नेल के आसपास निर्मित अधिकांश ऑपरेटिंग सिस्टम में पाया जाता है।