grep

2012-11-06 15 views
14

मैं स्ट्रिंग "abc" स्ट्रिंग वाली मेरी टेक्स्ट फ़ाइल में सभी पंक्तियां ढूंढना चाहता हूं, लेकिन स्ट्रिंग "def" नहीं है। क्या मैं इस कार्य को पूरा करने के लिए grep कमांड का उपयोग कर सकता हूं?grep

+1

ऐसा लगता है कि आप कोडेबेस के माध्यम से अपने रास्ते पर नेविगेट करने में मदद के लिए grep का उपयोग कर रहे हैं; यदि हां - मैंने हाल ही में एक टूल लिखा है ताकि उस गतिविधि को अधिक आसान बनाने में मदद मिल सके: http://reviewboardstudents.wordpress.com/2012/10/22/ucosp-blog-post-sack-and-other-developer-shortcuts/ उम्मीद है कि यह आपके लिए भी उपयोगी साबित होगा –

+0

ग्रेट, मैं एक नज़र डालूंगा! –

उत्तर

26

इनमें से किसी भी करेंगे:

grep -v "def" input_file | grep "abc" 

या

grep "abc" input_file | grep -v "def" 

निम्नलिखित भी रंग को सुरक्षित करेगा अगर आप केवल stdout पर उत्पादन देखना चाहते हैं:

grep --color=always "abc" input_file | grep -v "def" 

-v विकल्प ("उलटा मैच" के लिए खड़ा है) निर्दिष्ट पैटर्न के साथ लाइनों को अनदेखा करने के लिए grep बताता है - इस मामले में def

+0

बढ़िया, धन्यवाद! जब मेरा इनपुट_फाइल बड़ा होता है, तो क्या आपके पहले और दूसरे कोड के बीच गति में कोई अंतर होता है? –

+1

@MikaH। आप प्रत्येक स्क्रिप्ट कमांड से पहले 'टाइम' जोड़ सकते हैं यह देखने के लिए कि प्रत्येक कितना समय लेता है। मुझे लगता है कि केवल एक नगण्य अंतर है। –

+0

रंग संरक्षण के बारे में हिस्सा वास्तव में उपयोगी है। एक बार फिर धन्यवाद! –

1

यह ऐसा कर सकता है।

fgrep "abc" file | grep -v "def"