लिनक्स में एक फाइल से कई लाइनों को कैसे grep करें


2

मेरे पास नीचे दी गई सामग्री के साथ एक फ़ाइल है।

.
.
hello
.
.
.
world
.
.
hello
.
.
.
.
.
world
.
.

डॉट्स फ़ाइल में अन्य लाइनों को इंगित करता है। यहाँ मुझे केवल लाइनों हैलो और दुनिया को आकर्षित करने की आवश्यकता है। इसका मतलब है कि आउटपुट नीचे की तरह होना चाहिए।

hello
world
hello
world

इसे कैसे पूरा करें?

धन्यवाद,

जवाबों:


5

का उपयोग कर grep:

grep -E 'hello|world' file

का उपयोग कर awk:

awk '/hello|world/' file

1

आप तार्किक या पैटर्न के बीच प्रदर्शन करने के लिए, पूरी लाइन और (विस्तारित) रेगेक्स ऑपरेटर से मेल खाने grepके -xविकल्प के साथ उपयोग कर सकते हैं |:

grep -xE 'hello|world' file.txt

यदि आपका विकल्प विकल्प का grepसमर्थन नहीं करता है -E, तो बच गए के साथ बेसिक रेगेक्स का उपयोग करें |:

grep -x 'hello\|world' file.txt

इसके अतिरिक्त, यदि आप -xपूरी लाइन से मेल खाने के विकल्प का उपयोग नहीं कर सकते हैं, तो रेगेक्स ऑपरेटरों का उपयोग करें:

grep -E '^(hello|world)$' file.txt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.