দেখুন -F
(স্থির স্ট্রিং, যেমন রেগুলার এক্সপ্রেশন উল্টোদিকে) এবং -x
(: পুরো লাইন মেলে সঠিক) অপশন।
grep -Fx user1@example.com text_file
এর সমতুল্য হবে:
grep '^user1@example\.com$' text_file
(মনে রাখবেন এটি .
নিয়মিত এক্সপ্রেশন অপারেটর যা কোনও চরিত্রের সাথে মেলে)।
-q
বিকল্পটি ব্যবহার করুন যদি আপনি কেবল এই জাতীয় লাইন আছে কিনা তা পরীক্ষা করতে চান:
grep -Fxq user1@example.com text_file &&
echo yes, that address is in that file.
যদি অনুসন্ধানের লাইন এবং ফাইলটির নাম পরিবর্তনশীল হয়:
grep -Fxqe "$email" < "$file"
অথবা
grep -Fxq -- "$email" < "$file"
আপনি চান না:
grep -Fxq "$email" "$file"
যে সমস্যা $email
বা যদি $file
শুরু সঙ্গে সমস্যা হতে পারে -
।
যদি ফাইলটি বাছাই করা হয় (আপনার বর্তমান লোকালয়ে, C
সর্বাধিক), আপনি সম্ভবত এর comm
পরিবর্তে জিনিসগুলি গতি বাড়িয়ে তুলতে পারেন grep
:
printf '%s\n' user1@example.com | comm -12 - text_file
সুবিধাটি আরও স্পষ্ট হয়ে উঠবে যখন আপনার চেক করার জন্য বেশ কয়েকটি ইমেল ঠিকানা রয়েছে (উদাহরণস্বরূপ অন্য সাজানো ফাইলে):
comm -12 text_file emails_to_check
এর চেয়ে দ্রুত হবে:
grep -Fxf emails_to_check text_file