जवाबों:
मानक 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
काम भी करता है।
-e
POSIX द्वारा निर्दिष्ट किया गया है, लेकिन यहां उपयोगी नहीं है। \|
POSIX द्वारा निर्दिष्ट नहीं है।
\|
एक मानकBRE
ऑपरेटर नहीं है , हालांकि यह GNU के साथ काम करता हैgrep
जोgrep
लिनक्स कर्नेल के आसपास निर्मित अधिकांश ऑपरेटिंग सिस्टम में पाया जाता है।