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


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.