क्या यह संभव है, ग्रेप का उपयोग कर, की घटनाओं के लिए खोज करने के लिए John Smith
, लेकिन के उदाहरण को बाहर Mr John Smith
?
क्या यह संभव है, ग्रेप का उपयोग कर, की घटनाओं के लिए खोज करने के लिए John Smith
, लेकिन के उदाहरण को बाहर Mr John Smith
?
जवाबों:
इसे नकारात्मक लुकअप के साथ एक नियमित अभिव्यक्ति का उपयोग करके हल किया जा सकता है (जो grep
व्यवस्थित रूप से टिप्पणी द्वारा इंगित किया गया है :)
$ grep -P '(?<!Mr )John Smith' file
चूंकि समर्थन सिर्फ प्रयोगात्मक है, आप perl
इसके बजाय उपयोग करना चाहते हैं :
$ perl -nle 'print if /(?<!Mr )John Smith/' file
नियमित अभिव्यक्ति का उपयोग करने के लिए, ^ और $ का उपयोग करें
grep "^John Smith$"
^ शुरुआत से मैच है $ अंत से मैच है।
आप किस फ़ाइल में खोज रहे हैं, इसके आधार पर वाक्य रचना अलग-अलग होगी।
आप sed, grep, awk ... के साथ नियमित एक्सप्रेशन का उपयोग कर सकते हैं।
उदाहरण
bodhi@Ubuntu:~ cat file
Mr John Smith
John Smith
John
Smith
bodhi@Ubuntu:~ grep "^John Smith$" file
John Smith
echo $string | grep -P '(?<!Mr )John Smith'
।