क्या यह संभव है, ग्रेप का उपयोग कर, की घटनाओं के लिए खोज करने के लिए 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'।