স্ট্রিংয়ের জন্য গ্রেপ অন্য স্ট্রিংয়ের আগে নয়


10

গ্রেপ ব্যবহার করে এর উদাহরণগুলি অনুসন্ধান করা John Smithছাড়াও এর উদাহরণগুলি বাদ দেওয়া কি সম্ভব Mr John Smith?

উত্তর:


9

নেতিবাচক লুকবিহিন্ডের সাথে নিয়মিত এক্সপ্রেশন ব্যবহার করে এটি সমাধান করা যেতে পারে (যা পরীক্ষামূলকভাবে grepবিন্যাস থেকে মন্তব্য দ্বারা নির্দেশিত):

$ grep -P '(?<!Mr )John Smith' file

সমর্থনটি কেবল পরীক্ষামূলক, আপনি perlপরিবর্তে এটি ব্যবহার করতে পারেন :

$ perl -nle 'print if /(?<!Mr )John Smith/' file

এটি পরীক্ষামূলকভাবে গ্রেপ : এ সমর্থিত echo $string | grep -P '(?<!Mr )John Smith'
ব্যবস্থা করুন

পছন্দ করুন ধন্যবাদ, আমি উত্তর আপডেট করব।
jcollado

6

আপনি মৃত্যুদণ্ড কার্যকর করতে পারেন

command | grep 'John Smith' | grep -v 'Mr John Smith'

1
দুর্দান্ত ধারণা, তবে লাইনটি থাকলে কাজ করবে নাJohn Smith Mr John Smith John Smith
রন

1

নিয়মিত এক্সপ্রেশন ব্যবহার করতে, ^ এবং $ ব্যবহার করুন $

grep "^John Smith$"

the শুরু থেকে মিল $ শেষ থেকে মিল।

আপনি কোন ফাইলটিতে সন্ধান করছেন তার উপর নির্ভর করে সিনট্যাক্সটি পৃথক হবে।

আপনি সেড, গ্রেপ, অ্যাড ... এর সাথে নিয়মিত এক্সপ্রেশন ব্যবহার করতে পারেন ....

উদাহরণ

bodhi@Ubuntu:~ cat file
Mr John Smith
John Smith
John
Smith

bodhi@Ubuntu:~ grep "^John Smith$" file
John Smith

ওপি স্ট্রিংটিকে তার লাইনের একমাত্র জিনিস হিসাবে জিজ্ঞাসা করে না।
এনজোটিব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.