Regular Expressions এবং AWK (Regular Expressions in AWK)

Computer Programming - অক (Awk)
256
256

Regular Expressions এবং AWK (Regular Expressions in AWK)

AWK এর সবচেয়ে শক্তিশালী বৈশিষ্ট্যগুলির একটি হল এর নিয়মিত এক্সপ্রেশন (Regular Expressions) সমর্থন। নিয়মিত এক্সপ্রেশনগুলি ব্যবহার করে ব্যবহারকারীরা বিভিন্ন প্যাটার্ন ম্যাচিং এবং টেক্সট প্রসেসিং করতে পারেন। এটি টেক্সট ফাইল থেকে নির্দিষ্ট ডেটা বের করতে এবং ফিল্টার করতে সহায়ক।


Regular Expressions কি?

নিয়মিত এক্সপ্রেশন হল বিশেষ ধরনের স্ট্রিং যা একটি প্যাটার্নকে প্রতিনিধিত্ব করে। AWK এ নিয়মিত এক্সপ্রেশন ব্যবহার করে আপনি টেক্সট থেকে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে পারেন।

উদাহরণ:

awk '/pattern/ {print}' filename.txt

এটি filename.txt ফাইলের প্রতিটি লাইন থেকে pattern শব্দটি পাওয়া লাইনগুলো প্রিন্ট করবে।


AWK এ Regular Expressions এর ব্যবহার

AWK এ নিয়মিত এক্সপ্রেশন ব্যবহার করার কিছু সাধারণ উদাহরণ নিচে দেওয়া হল:

  1. নির্দিষ্ট শব্দ খুঁজে বের করা:

    awk '/word/ {print}' filename.txt

    এটি filename.txt ফাইলের প্রতিটি লাইন থেকে word শব্দটি থাকা লাইনগুলো প্রিন্ট করবে।

  2. লাইনের শুরুতে বা শেষে প্যাটার্ন খোঁজা:
    • লাইনের শুরুতে প্যাটার্ন খোঁজা:

      awk '/^start/ {print}' filename.txt

      এটি filename.txt ফাইলের মধ্যে start শব্দ দিয়ে শুরু হওয়া লাইনগুলো প্রিন্ট করবে।

    • লাইনের শেষে প্যাটার্ন খোঁজা:

      awk '/end$/ {print}' filename.txt

      এটি filename.txt ফাইলের মধ্যে end শব্দ দিয়ে শেষ হওয়া লাইনগুলো প্রিন্ট করবে।

  3. যেকোনো ক্যারেক্টার ম্যাচ করা:

    awk '/c.t/ {print}' filename.txt

    এটি filename.txt ফাইলের মধ্যে c এবং t এর মাঝে যেকোনো একটি ক্যারেক্টার থাকা লাইনগুলো প্রিন্ট করবে (যেমন cat, cut, ইত্যাদি)।

  4. বহুবার পুনরাবৃত্তি চিহ্নিত করা:
    • এক বা একাধিকবার:

      awk '/go+d/ {print}' filename.txt

      এটি filename.txt ফাইলের মধ্যে g এর পরে এক বা একাধিক o এবং শেষে d থাকা লাইনগুলো প্রিন্ট করবে (যেমন god, good, ইত্যাদি)।

    • শূন্য বা একবার:

      awk '/colou?r/ {print}' filename.txt

      এটি filename.txt ফাইলের মধ্যে color বা colour শব্দ থাকা লাইনগুলো প্রিন্ট করবে।

  5. বিকল্প প্যাটার্ন খোঁজা:

    awk '/cat|dog/ {print}' filename.txt

    এটি filename.txt ফাইলের মধ্যে cat বা dog শব্দ থাকা লাইনগুলো প্রিন্ট করবে।


AWK এ নিয়মিত এক্সপ্রেশন মডিফায়ার

AWK এ কিছু বিশেষ মডিফায়ার রয়েছে যা নিয়মিত এক্সপ্রেশনের সাথে ব্যবহার করা যায়:

  • ^: লাইনের শুরু নির্দেশ করতে।
  • $: লাইনের শেষ নির্দেশ করতে।
  • .: যেকোনো একক ক্যারেক্টার নির্দেশ করতে।
  • *: পূর্ববর্তী ক্যারেক্টারকে শূন্য বা একাধিকবার নির্দেশ করতে।
  • +: পূর্ববর্তী ক্যারেক্টারকে এক বা একাধিকবার নির্দেশ করতে।
  • ?: পূর্ববর্তী ক্যারেক্টারকে শূন্য বা একবার নির্দেশ করতে।
  • |: বিকল্প নির্দেশ করতে।

সারসংক্ষেপ

AWK এ নিয়মিত এক্সপ্রেশন ব্যবহার করে টেক্সট ফাইল থেকে নির্দিষ্ট প্যাটার্ন খুঁজে বের করা এবং টেক্সট বিশ্লেষণ করা সহজ হয়। নিয়মিত এক্সপ্রেশনগুলির মাধ্যমে ব্যবহারকারীরা জটিল প্যাটার্ন বিশ্লেষণ এবং ডেটা ফিল্টারিং করতে পারেন। এটি ডেটা প্রসেসিংকে আরও দ্রুত এবং কার্যকর করে তোলে, বিশেষ করে বড় ফাইল এবং ডেটাসেটের ক্ষেত্রে।

common.content_added_by

Regular Expression এর মৌলিক ধারণা

210
210

Regular Expression এর মৌলিক ধারণা

Regular Expression (রেগুলার এক্সপ্রেশন), সংক্ষেপে RegEx বা regexp, একটি প্যাটার্ন বা নিদর্শন, যা সাধারণত টেক্সট ডেটায় নির্দিষ্ট ধরণের তথ্য খুঁজে বের করতে ব্যবহৃত হয়। এটি একটি শক্তিশালী টুল যা বিভিন্ন প্রোগ্রামিং ভাষায় পাওয়া যায় এবং ডেটা ফিল্টারিং, প্রক্রিয়াকরণ, এবং বিশ্লেষণে ব্যবহৃত হয়।


Regular Expression এর মৌলিক বৈশিষ্ট্য

  1. প্যাটার্ন ভিত্তিক অনুসন্ধান: RegEx ব্যবহার করে আপনি নির্দিষ্ট প্যাটার্ন অনুযায়ী টেক্সট ডেটায় অনুসন্ধান করতে পারেন।
  2. টেক্সট ম্যানিপুলেশন: এটি ব্যবহার করে আপনি টেক্সট থেকে নির্দিষ্ট অংশ বের করা, পরিবর্তন করা, বা তথ্য খুঁজে বের করা সম্ভব।
  3. প্রোগ্রামিং ভাষার সমর্থন: RegEx সাধারণত প্রায় সকল আধুনিক প্রোগ্রামিং ভাষায় সমর্থিত, যেমন Python, JavaScript, Java, Perl, এবং AWK।

Regular Expression এর মৌলিক উপাদান

  • সাধারণ চরিত্র (Literal Characters): যেমন a, b, 1, 2 ইত্যাদি। এগুলি সরাসরি মেলে।
  • বিশেষ চিহ্ন (Metacharacters): যেমন ., *, +, ?, ^, $, [ ], ( ), { }, | ইত্যাদি। এগুলি নির্দিষ্ট প্যাটার্ন অনুসারে মেলানোর জন্য ব্যবহার করা হয়।

গুরুত্বপূর্ণ Metacharacters এবং তাদের অর্থ

  1. . (ডট): যে কোনো একক অক্ষর নির্দেশ করে।
    • প্যাটার্ন h.t "hat", "hot", "hit" এর সাথে মিলে যায়।
  2. ^ (ক্যারেট): কোনো লাইনের শুরু নির্দেশ করে।
    • প্যাটার্ন ^Hello শুধুমাত্র সেই লাইনের সাথে মিলে যাবে যা "Hello" দিয়ে শুরু হয়।
  3. $ (ডলার): কোনো লাইনের শেষ নির্দেশ করে।
    • প্যাটার্ন end$ শুধুমাত্র সেই লাইনের সাথে মিলে যাবে যা "end" দিয়ে শেষ হয়।
  4. * (স্টার): শূন্য বা একাধিকবার পূর্ববর্তী চরিত্র বা গ্রুপের পুনরাবৃত্তি নির্দেশ করে।
    • প্যাটার্ন ab* "a", "ab", "abb" ইত্যাদির সাথে মিলে যাবে।
  5. + (প্লাস): অন্তত একবার পূর্ববর্তী চরিত্র বা গ্রুপের পুনরাবৃত্তি নির্দেশ করে।
    • প্যাটার্ন ab+ "ab", "abb", "abbb" ইত্যাদির সাথে মিলে যাবে, কিন্তু "a" এর সাথে নয়।
  6. ? (কোশ্চেন): পূর্ববর্তী চরিত্র বা গ্রুপ শূন্য বা একবার মেলে।
    • প্যাটার্ন colou?r "color" এবং "colour" উভয়ের সাথে মিলে যাবে।
  7. [ ] (সেট): সেটের মধ্যে থাকা যে কোনো একক চরিত্র মেলে।
    • প্যাটার্ন [aeiou] যেকোনো vowel এর সাথে মিলে যাবে।
  8. | (অর): বিকল্প নির্দেশ করে।
    • প্যাটার্ন cat|dog "cat" অথবা "dog" এর সাথে মিলে যাবে।

RegEx এর ব্যবহার উদাহরণ

  1. সাধারণ প্যাটার্ন ম্যাচিং:

    awk '/^Error/' logfile.txt

    এই AWK কমান্ডটি logfile.txt ফাইলের শুধুমাত্র সেই লাইনগুলো প্রিন্ট করবে যা "Error" দিয়ে শুরু হয়েছে।

  2. নির্দিষ্ট ফিল্ডে প্যাটার্ন অনুসন্ধান:

     

    এই AWK কমান্ডটি data.txt ফাইলের দ্বিতীয় ফিল্ডে বড় হাতের অক্ষর দিয়ে শুরু হওয়া লাইনের পুরো লাইন প্রিন্ট করবে।


সাধারণ RegEx উদাহরণ

  • [0-9]: যেকোনো সংখ্যা (0 থেকে 9)।
  • [a-z]: ছোট হাতের যেকোনো অক্ষর (a থেকে z)।
  • [A-Z]: বড় হাতের যেকোনো অক্ষর (A থেকে Z)।
  • \d: যেকোনো সংখ্যা (0-9), যা কিছু ভাষায় \d দ্বারা নির্দেশ করা হয়।
  • \w: যেকোনো অক্ষর বা সংখ্যা।
  • \s: যেকোনো স্পেস চিহ্ন।

সারসংক্ষেপ

Regular Expression (RegEx) হল একটি শক্তিশালী টুল যা টেক্সট প্রক্রিয়াকরণ, তথ্য অনুসন্ধান এবং বিশ্লেষণে ব্যবহৃত হয়। এটি বিশেষ চরিত্র এবং প্যাটার্ন ব্যবহার করে ডেটার মধ্যে নির্দিষ্ট অংশ অনুসন্ধান ও পরিবর্তন করতে সাহায্য করে। RegEx এর সাহায্যে প্রোগ্রামাররা সহজেই বড় ডেটাসেট প্রক্রিয়া এবং ফিল্টার করতে পারেন, যা প্রোগ্রামিং এবং ডেটা ম্যানিপুলেশনের ক্ষেত্রে অত্যন্ত কার্যকর।

common.content_added_by

Text Matching এর জন্য Regular Expressions ব্যবহার

215
215

AWK এ Text Matching এর জন্য Regular Expressions ব্যবহার

AWK একটি শক্তিশালী টুল যা টেক্সট প্রক্রিয়াকরণ এবং বিশ্লেষণের ক্ষেত্রে বিশেষভাবে কার্যকর। AWK এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হল Regular Expressions (RegEx) ব্যবহার করে টেক্সট ম্যাচিং করা। RegEx ব্যবহার করে জটিল টেক্সট প্যাটার্নগুলি সহজেই খুঁজে বের করা যায় এবং তাদের ভিত্তিতে বিভিন্ন কার্যক্রম সম্পাদন করা যায়।

AWK এ Regular Expressions এর সাধারণ ব্যবহার

AWK এর Regular Expressions সাধারণত /pattern/ আকারে ব্যবহার করা হয় এবং এটি প্যাটার্ন ম্যাচ হলে নির্দিষ্ট অ্যাকশন কার্যকর হয়।

উদাহরণসমূহ

উদাহরণ ১: নির্দিষ্ট শব্দ খুঁজে বের করা

ধরা যাক, আমরা একটি ফাইল data.txt এর মধ্যে "error" শব্দটি আছে এমন সব লাইন খুঁজে বের করতে চাই:

awk '/error/ {print $0}' data.txt

এখানে, /error/ একটি RegEx প্যাটার্ন যা "error" শব্দ আছে এমন সব লাইন প্রিন্ট করবে।


উদাহরণ ২: নির্দিষ্ট প্যাটার্ন দিয়ে শুরু হওয়া লাইন খোঁজা

awk '/^Start/ {print $0}' data.txt

এখানে, /^Start/ প্যাটার্নটি চেক করবে যে কোন লাইন "Start" শব্দ দিয়ে শুরু হয়েছে।


উদাহরণ ৩: নির্দিষ্ট প্যাটার্ন দিয়ে শেষ হওয়া লাইন খোঁজা

awk '/end$/ {print $0}' data.txt

এখানে, /end$/ প্যাটার্নটি চেক করবে যে কোন লাইন "end" শব্দ দিয়ে শেষ হয়েছে।


Special Characters এবং তাদের ব্যবহার

AWK এর RegEx এ কিছু বিশেষ চিহ্ন আছে যা বিশেষভাবে টেক্সট ম্যাচিং এর জন্য ব্যবহার করা হয়:

  • ^: লাইনের শুরু নির্দেশ করে।
  • $: লাইনের শেষ নির্দেশ করে।
  • .: যেকোনো একক অক্ষর নির্দেশ করে।
  • *: শূন্য বা একাধিক পুনরাবৃত্তি নির্দেশ করে।
  • +: এক বা একাধিক পুনরাবৃত্তি নির্দেশ করে।
  • []: ক্যারেক্টারের সেট নির্দেশ করে।
  • |: OR অপারেটর নির্দেশ করে।

উদাহরণ ৪: একাধিক প্যাটার্ন ম্যাচ করা

awk '/(error|fail|warning)/ {print $0}' data.txt

এখানে, /(error|fail|warning)/ প্যাটার্নটি চেক করবে যে কোন লাইন "error", "fail", বা "warning" শব্দ ধারণ করে।


উদাহরণ ৫: নির্দিষ্ট সংখ্যক অক্ষর খুঁজে বের করা

awk '/^.{5}$/ {print $0}' data.txt

এখানে, /^.{5}$/ প্যাটার্নটি চেক করবে যে কোন লাইন ঠিক ৫টি অক্ষরের সমান।


Advanced Matching: ফিল্ডের সাথে RegEx ব্যবহার

AWK এ, নির্দিষ্ট ফিল্ডে প্যাটার্ন ম্যাচিং করা যায়। উদাহরণস্বরূপ, দ্বিতীয় ফিল্ডে যদি নির্দিষ্ট প্যাটার্ন থাকে, তবে সেই লাইন প্রিন্ট করতে:

awk '$2 ~ /[0-9]{3}/ {print $0}' data.txt

এখানে, $2 ~ /[0-9]{3}/ শর্তটি চেক করবে যে দ্বিতীয় ফিল্ডে ৩টি সংখ্যা আছে কিনা।


NOT Matching: প্যাটার্ন বাদ দেওয়া

AWK এ ! অপারেটর ব্যবহার করে প্যাটার্ন বাদ দেওয়া যায়।

awk '!/error/ {print $0}' data.txt

এখানে, !/error/ প্যাটার্নটি সেই সব লাইন প্রিন্ট করবে যেখানে "error" শব্দটি নেই।


সারসংক্ষেপ

AWK এ Regular Expressions ব্যবহার করে টেক্সট ম্যাচিং অত্যন্ত সহজ এবং কার্যকর। এটি ব্যবহার করে আপনি বড় ডেটাসেটের মধ্যে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে এবং সেই অনুযায়ী প্রক্রিয়াকরণ করতে পারেন। AWK এর RegEx ক্ষমতা ডেটা বিশ্লেষণকে দ্রুত এবং কার্যকরভাবে সম্পন্ন করতে সহায়তা করে।

common.content_added_by

Special Characters এবং Meta Characters এর ব্যবহার

275
275

Special Characters এবং Meta Characters এর ব্যবহার

AWK এবং অন্যান্য প্রোগ্রামিং ভাষায় Special Characters এবং Meta Characters হল বিশেষ প্রতীক যা সাধারণত নিয়মিত এক্সপ্রেশন (regular expressions) এবং স্ট্রিং প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এদের সাহায্যে জটিল প্যাটার্ন তৈরি এবং ডেটা প্রক্রিয়াকরণ করা যায়।


Special Characters

Special Characters হল এমন প্রতীক যা নির্দিষ্ট কাজ সম্পাদনের জন্য ব্যবহৃত হয়। এগুলি সাধারণত স্ট্রিং এবং আউটপুট ফরম্যাটিংয়ে ব্যবহৃত হয়।

সাধারণ Special Characters:

  • \n: একটি নিউলাইন নির্দেশ করে।
  • \t: একটি ট্যাব নির্দেশ করে।
  • \": ডাবল কোটেশন চিহ্ন।
  • \\: ব্যাকস্ল্যাশ চিহ্ন।
  • \r: ক্যারেজ রিটার্ন নির্দেশ করে।
  • \b: ব্যাকস্পেস নির্দেশ করে।

উদাহরণ:

awk '{
    print "Name:\t" $1 "\nScore:\t" $2
}' scores.txt

এখানে, \t ট্যাব হিসেবে ব্যবহৃত হয়েছে এবং \n প্রতিটি ফিল্ডের পরে নতুন লাইনে যাওয়ার নির্দেশ দেয়।


Meta Characters

Meta Characters হল বিশেষ প্রতীক যা সাধারণত নিয়মিত এক্সপ্রেশন (regex) এ ব্যবহৃত হয়। এগুলি নির্দিষ্ট প্যাটার্ন ম্যাচিংয়ের জন্য ব্যবহৃত হয় এবং AWK তে ডেটা ফিল্টার এবং বিশ্লেষণের জন্য কার্যকরী।

সাধারণ Meta Characters:

  • .: যে কোনো একক অক্ষর নির্দেশ করে।
  • ^: লাইনের শুরু নির্দেশ করে।
  • $: লাইনের শেষ নির্দেশ করে।
  • *: শূন্য বা একাধিক পুনরাবৃত্তি নির্দেশ করে।
  • +: এক বা একাধিক পুনরাবৃত্তি নির্দেশ করে।
  • ?: শূন্য বা একটি পুনরাবৃত্তি নির্দেশ করে।
  • []: ক্যারেক্টার ক্লাস নির্দেশ করে, যেমন [a-z]
  • |: OR অপারেটর হিসেবে কাজ করে।
  • (): গ্রুপিং নির্দেশ করে।

উদাহরণ:

awk '/^A/ {
    print $0
}' names.txt

এখানে, ^A নির্দেশ করছে যে প্রতিটি লাইন A অক্ষর দিয়ে শুরু হলে সেই লাইন প্রিন্ট হবে।

awk '/[0-9]+/ {
    print $0
}' data.txt

এখানে, [0-9]+ নির্দেশ করছে যে যে কোনো সংখ্যার উপস্থিতি থাকলে সেই লাইন প্রিন্ট হবে।


Special এবং Meta Characters এর সংমিশ্রণ

AWK তে Special এবং Meta Characters একত্রে ব্যবহার করে আরও জটিল প্যাটার্ন তৈরি করা যায়।

উদাহরণ:

awk '/^Error.*code [0-9]{3}$/ {
    print $0
}' log.txt

এখানে, ^Error.*code [0-9]{3}$ নির্দেশ করছে যে প্রতিটি লাইন "Error" দিয়ে শুরু হবে, তারপর যেকোনো কিছু থাকতে পারে, এবং শেষে "code" এবং তিন সংখ্যার কোড দিয়ে শেষ হবে।


ব্যবহারিক পরামর্শ

  1. Escape Characters: যদি কোন Special বা Meta Character কে সাধারণ অক্ষর হিসেবে ব্যবহার করতে হয়, তবে এটি \ দিয়ে Escape করতে হয়। যেমন, \. স্ট্রিং হিসাবে ডট ব্যবহার করতে।
  2. Complex Patterns: জটিল প্যাটার্ন তৈরির সময় Meta Characters একাধিকবার ব্যবহার করে নিয়মিত এক্সপ্রেশন তৈরি করা যায়, যা নির্দিষ্ট ডেটা ফিল্টারিং করতে সহায়তা করে।

সারসংক্ষেপ

Special Characters এবং Meta Characters AWK তে স্ট্রিং এবং নিয়মিত এক্সপ্রেশন ব্যবহার করে ডেটা প্রক্রিয়াকরণ এবং ফিল্টার করার ক্ষেত্রে অত্যন্ত কার্যকর। Special Characters সাধারণত স্ট্রিং ম্যানিপুলেশনে ব্যবহৃত হয়, আর Meta Characters নিয়মিত এক্সপ্রেশন তৈরি করতে ব্যবহৃত হয়, যা ডেটা বিশ্লেষণকে আরও সহজ এবং কার্যকর করে।

common.content_added_by

Complex Pattern Matching এবং তার উদাহরণ

249
249

Complex Pattern Matching এবং তার উদাহরণ

AWK প্রোগ্রামিং ভাষায় Complex Pattern Matching ব্যবহার করে আপনি জটিল প্যাটার্নের ভিত্তিতে ডেটা ফিল্টার এবং প্রক্রিয়া করতে পারেন। Complex Pattern Matching সাধারণত Regular Expressions, শর্তাবলী, এবং লজিক্যাল অপারেটরগুলির সমন্বয়ে তৈরি করা হয়। এটি বিশেষত বৃহৎ ডেটাসেটের মধ্যে নির্দিষ্ট ধরনের তথ্য খুঁজে বের করার ক্ষেত্রে কার্যকরী।

Complex Pattern Matching এর উপাদান

AWK এ Complex Pattern Matching তৈরি করতে বিভিন্ন উপাদান ব্যবহার করা হয়, যেমন:

  • Regular Expressions: নির্দিষ্ট প্যাটার্ন খুঁজে বের করার জন্য।
  • লজিক্যাল অপারেটর: যেমন &&, ||, ! – একাধিক শর্ত যুক্ত করতে।
  • শর্তাবলী: ফিল্ডের মানের ভিত্তিতে শর্ত যুক্ত করতে।

উদাহরণ এবং ব্যবহার

উদাহরণ ১: একাধিক শর্ত নিয়ে Complex Pattern Matching

awk '$1 ~ /^[A-Z]/ && $2 > 100 {print $0}' filename.txt

এখানে:

  • $1 ~ /^[A-Z]/ শর্তটি চেক করে যে প্রথম কলামের মান বড় হাতের অক্ষরে শুরু হয়েছে কিনা।
  • $2 > 100 শর্তটি চেক করে যে দ্বিতীয় কলামের মান ১০০ এর বেশি কিনা।
  • && লজিক্যাল অপারেটর ব্যবহার করে দুইটি শর্তকে একত্রিত করা হয়েছে।

এই প্যাটার্নটি ম্যাচ হলে পুরো লাইন প্রিন্ট করা হবে।


উদাহরণ ২: OR অপারেটর ব্যবহার করে Complex Pattern Matching

awk '$1 == "Error" || $3 ~ /critical/ {print $1, $3}' filename.txt

এখানে:

  • $1 == "Error" শর্তটি চেক করে যে প্রথম কলাম "Error" কিনা।
  • $3 ~ /critical/ শর্তটি চেক করে যে তৃতীয় কলামে "critical" শব্দটি রয়েছে কিনা।
  • || লজিক্যাল অপারেটর ব্যবহার করে শর্তগুলির মধ্যে OR সম্পর্ক স্থাপন করা হয়েছে।

এই কমান্ডটি "Error" বা "critical" শব্দ যুক্ত লাইনগুলি প্রিন্ট করবে।


উদাহরণ ৩: NOT অপারেটর ব্যবহার করে Complex Pattern Matching

awk '!($2 ~ /skip/) && $4 > 50 {print $0}' filename.txt

এখানে:

  • !($2 ~ /skip/) শর্তটি চেক করে যে দ্বিতীয় কলামে "skip" শব্দটি নেই।
  • $4 > 50 শর্তটি চেক করে যে চতুর্থ কলামের মান ৫০ এর বেশি।
  • && অপারেটর ব্যবহার করে দুটি শর্ত যুক্ত করা হয়েছে।

যদি দ্বিতীয় কলামে "skip" না থাকে এবং চতুর্থ কলামের মান ৫০ এর বেশি হয়, তবে সেই লাইনটি প্রিন্ট হবে।


উদাহরণ ৪: একাধিক প্যাটার্ন এবং কন্ডিশনাল অ্যাকশন

awk '/^START/ || /END$/ {print "Boundary:", $0} $3 ~ /^[0-9]+$/ {print "Number:", $3}' filename.txt

এখানে:

  • /^START/ || /END$/ অংশটি এমন লাইনগুলিকে খুঁজে বের করবে যা "START" শব্দ দিয়ে শুরু হয় বা "END" শব্দ দিয়ে শেষ হয় এবং প্রিন্ট করবে "Boundary" সহ।
  • $3 ~ /^[0-9]+$/ অংশটি তৃতীয় কলামে শুধুমাত্র সংখ্যা আছে কিনা চেক করবে এবং সেই মান "Number" সহ প্রিন্ট করবে।

সারসংক্ষেপ

AWK এ Complex Pattern Matching ব্যবহার করে জটিল ডেটা ফিল্টারিং এবং প্রসেসিং সহজে করা যায়। Regular Expressions, লজিক্যাল অপারেটর এবং শর্তাবলী ব্যবহার করে AWK প্রোগ্রামে উন্নত প্যাটার্ন ম্যাচিং তৈরি করা সম্ভব। এর ফলে, বড় ডেটাসেটের মধ্যে নির্দিষ্ট তথ্য খুঁজে বের করা, ফিল্টার করা এবং প্রক্রিয়া করা আরও কার্যকর হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion