লিনাক্সে আওকের সাথে যৌগিক এক্সপ্রেশন কীভাবে ব্যবহার করবেন - পার্ট 5
শর্তটি পূরণ হয়েছে কিনা তা যাচাই করার সময় আমরা সর্বদা সরল অভিব্যক্তিগুলির দিকে নজর রেখেছি। যদি আপনি আরও একটি বিশেষ শর্তটি পরীক্ষা করার জন্য একটি এক্সপ্রেশন ব্যবহার করতে চান?
এই নিবন্ধে, আমরা পাঠ্য বা স্ট্রিং ফিল্টার করার সময় কোনও শর্ত পরীক্ষা করতে যৌগিক অভিব্যক্তি হিসাবে অভিহিত একাধিক এক্সপ্রেশনকে কীভাবে একত্র করতে পারি তা আমরা একবারে পর্যালোচনা করব।
ওওকে, (এবং)
এবং ||
(বা) হিসাবে উল্লেখ করা হিসাবে ব্যবহৃত
যৌগিক চালকগণ &&
ব্যবহার করে যৌগিক অভিব্যক্তি তৈরি করা হয়
যৌগিক এক্সপ্রেশনগুলির জন্য সাধারণ বাক্য গঠন:
( first_expression ) && ( second_expression )
পুরো অভিব্যক্তিটিকে সত্য করে তুলতে এখানে প্রথম_প্রকাশ
এবং দ্বিতীয়_প্রকাশ
অবশ্যই সত্য হতে হবে।
( first_expression ) || ( second_expression)
পুরো এক্সপ্রেশনটি সত্য হওয়ার জন্য এখানে প্রথম_প্রকাশ
বা দ্বিতীয়_প্রকাশ
এর একটি এক্সপ্রেশন অবশ্যই সত্য হতে হবে।
সতর্কতা: সর্বদা প্রথম বন্ধনীর অন্তর্ভুক্ত মনে রাখবেন।
অ্যাডাব্লিক সিরিজের ৪ র্থ অংশে আমরা যে তুলনা অপারেটরগুলি দেখেছি তা ব্যবহার করে প্রকাশ করা যেতে পারে।
আসুন এখন নীচের একটি উদাহরণ ব্যবহার করে একটি সুস্পষ্ট বোঝাপড়া পান:
এই উদাহরণে, কোনও tecmint_deals.txt
নামে একটি পাঠ্য ফাইল রয়েছে, এতে কিছু আশ্চর্যজনক এলোমেলো টেকমিন্ট ডিলের একটি তালিকা রয়েছে, এতে চুক্তির নাম, দাম এবং ধরণের নাম অন্তর্ভুক্ত রয়েছে।
No Name Price Type 1 Mac_OS_X_Cleanup_Suite $9.99 Software 2 Basics_Notebook $14.99 Lifestyle 3 Tactical_Pen $25.99 Lifestyle 4 Scapple $19.00 Unknown 5 Nano_Tool_Pack $11.99 Unknown 6 Ditto_Bluetooth_Altering_Device $33.00 Tech 7 Nano_Prowler_Mini_Drone $36.99 Tech
বলুন যে আমরা কেবল প্রিন্ট এবং পতাকাঙ্কিত ডিলগুলি চাই যা 20 ডলারের বেশি এবং প্রতিটি লাইনের শেষে (**)
চিহ্ন ব্যবহার করে "টেক" টাইপ করুন।
আমাদের নীচের কমান্ডটি চালানো দরকার।
# awk '($3 ~ /^$[2-9][0-9]*\.[0-9][0-9]$/) && ($4=="Tech") { printf "%s\t%s\n",$0,"*"; } ' tecmint_deals.txt 6 Ditto_Bluetooth_Altering_Device $33.00 Tech * 7 Nano_Prowler_Mini_Drone $36.99 Tech *
এই উদাহরণে, আমরা একটি যৌগিক অভিব্যক্তিতে দুটি এক্সপ্রেশন ব্যবহার করেছি:
- প্রথম অভিব্যক্তি, (~ /^$رل2-9 নভেম্বর -0-9 উত্তর) ০ এর উপরে দামের সাথে লাইনগুলির জন্য লাইনগুলি পরীক্ষা করে, এবং এটি কেবলমাত্র যদি সত্য হয় যেটির মানটি সেই প্যাটার্নের সাথে মেলে /^$2/২/২০১৩009 -94 -9] $/
- এবং দ্বিতীয় প্রকাশ, (== "প্রযুক্তি"); চুক্তিটি "টেক" টাইপযুক্ত কিনা তা পরীক্ষা করে এবং এটি কেবলমাত্র সত্য যদি মান "টেক" এর সমান হয়
মনে রাখবেন, একটি লাইন কেবলমাত্র (**)
দিয়ে ফ্ল্যাগ করা হবে, যদি প্রথম এক্সপ্রেশন এবং দ্বিতীয় এক্সপ্রেশনটি সত্য হয় তবে &&
অপারেটরের নীতি অনুযায়ী।
সারসংক্ষেপ
কিছু শর্তের জন্য আপনার যা চান ঠিক তার সাথে মেলে আপনার জন্য সর্বদা যৌগিক এক্সপ্রেশন তৈরি করতে হবে। আপনি যখন তুলনা এবং যৌগিক এক্সপ্রেশন অপারেটরগুলির ব্যবহারটি বুঝতে পারবেন তখন কিছু কঠিন অবস্থার উপর ভিত্তি করে পাঠ্য বা স্ট্রিং ফিল্টারিং করা সহজ হয়ে যাবে।
আশা করি আপনি এই গাইডটি দরকারী এবং যে কোনও প্রশ্ন বা সংযোজনের জন্য সর্বদা একটি মন্তব্য মনে রাখবেন এবং আপনার উদ্বেগ সেই অনুযায়ী সমাধান করা হবে।