আমি যখন একটি একক grep
কমান্ড ব্যবহার করে দুটি পৃথক লাইনে থাকি তখন আমি কীভাবে দুটি পৃথক বাক্যাংশ অনুসন্ধান করতে পারি ?
উদাহরণ স্বরূপ
লাইন 1: এটি একটি মিষ্টি।
লাইন 2: লেবু।
আমি এটি ব্যবহার করেছি তবে কোনও ফল হয়নি
grep "sweet.*lemon" file_type
আমি যখন একটি একক grep
কমান্ড ব্যবহার করে দুটি পৃথক লাইনে থাকি তখন আমি কীভাবে দুটি পৃথক বাক্যাংশ অনুসন্ধান করতে পারি ?
উদাহরণ স্বরূপ
লাইন 1: এটি একটি মিষ্টি।
লাইন 2: লেবু।
আমি এটি ব্যবহার করেছি তবে কোনও ফল হয়নি
grep "sweet.*lemon" file_type
উত্তর:
grep
দুটি ভিন্ন লাইন ব্যবহার করতে , উভয় নিদর্শন সন্ধান করুন
$ grep -e sweet -e lemon file_type
This is a sweet
lemon.
বা বিকল্প ব্যবহার করুন
$ grep -E 'sweet|lemon' file_type
This is a sweet
lemon.
কোনও প্যাটার্নের পরে পরবর্তী লাইনটি পেতে, আপনি প্রসঙ্গ বিকল্পটি ব্যবহার করতে পারেন
$ grep -A1 sweet file_type
This is a sweet
lemon.
তবে আপনি যদি একাধিক লাইন প্যাটার্ন, জন্য স্পষ্টভাবে অনুসন্ধান করছেন যদি যে চতুর কারণ grep
লাইনে মনে ... । আপনার লাইনে.*
"মিষ্টি" এবং "লেবু" এর মধ্যে সমস্ত কিছু ধরা পড়বে । আমরা নতুন লাইনের সাথে ম্যাচ করার জন্য এবং ফাইলটি নাল দিয়ে আলাদা করে বলার মাধ্যমে পরবর্তী লাইনে "লেবু" পেতে পারি :-P
\n
grep
-z
$ grep -zPo 'This is a sweet\nlemon' file_type
This is a sweet
lemon.
-E
বর্ধিত নিয়মিত এক্সপ্রেশন ব্যবহার করুন ( |
এটিকে চালানোর প্রয়োজন ছাড়াই বিকল্পের চরিত্রটি ব্যবহার করতে)-An
প্যাটার্নের পরে অতিরিক্ত রেখাগুলি মুদ্রণ করুন, যেখানে n প্রিন্ট করার জন্য পিছনের লাইনের সংখ্যা-P
পার্ল-স্টাইলের নিয়মিত এক্সপ্রেশনগুলি ব্যবহার করুন ( আরও ভাল পার্ল রেজেক্স সহায়তার জন্য "পরীক্ষামূলক" ইন grep
-ইনস্টল pcregrep
করুন)-z
বিভাজক হিসাবে নাল চরিত্রটি ব্যবহার করুন (কেবলমাত্র এই ক্ষেত্রে ভান করে তবে grep
এটির জন্য আমাদের শব্দটি গ্রহণ করবে)-o
কেবল মিলিত অংশটি মুদ্রণ করুন-o
... সম্পাদিত ... দিয়ে কার্যকর ...
grep: The -P and -z options cannot be combined
- যেমন
এটার মত:
grep "sweet\|lemon"
grep
"স্ট্যান্ডার্ড মোড" এ ডিফল্ট কাজ, যেখানে "বিশেষ অক্ষর" মত দ্বারা |
, +
, *
আক্ষরিক ব্যাখ্যা করা হয় , যদি না তারা একটি ব্যাকস্ল্যাশ সঙ্গে ছদ্মবেশী করছি। উদাহরণস্বরূপ এই উত্তরটি দেখুন । আপনি সম্ভবত যেভাবে ব্যবহার করেছেন সেটিকে ব্যবহার করতে, সেই "বিশেষ অক্ষরগুলি" অক্ষরে অক্ষরে ব্যাখ্যা করার জন্য মুখোশ দেওয়া দরকার, আপনাকে "বর্ধিত মোড" ( grep -E
) এ স্যুইচ করতে হবে । হয়তো madneon তার উত্তরের উপর একটি বিট আরো সম্প্রসারিত করতে পারে, উদাহরণস্বরূপ কি Ops চেষ্টা করবে মিলেছে আছে?
grep -zP
কমান্ড এই নির্দিষ্ট ক্ষেত্রে কাজ করবে (ক ফাইল ঠিক দুই লাইন গঠিত) এটিকে সাধারণ, কোনো সাধারণ সম্পর্কে newline বিভাজিত ফাইল বিবেচনা করবে একটি একক লাইন হতে হবে যাতে পারেন পুরো ফাইলের বিষয়বস্তু ডাম্প (একটি ম্যাচ কোথাও নেই যদি থাকে) অথবা কিছুই না; সাধারণত এটি লোকেরা ব্যবহারgrep
করেন না।