AWK একটি শক্তিশালী টেক্সট প্রসেসিং ভাষা যা প্যাটার্ন এবং অ্যাকশন ভিত্তিক ডেটা প্রক্রিয়াকরণের জন্য ডিজাইন করা হয়েছে। এতে ব্যবহারকারী নির্দিষ্ট প্যাটার্ন নির্ধারণ করে এবং সেই প্যাটার্নের ভিত্তিতে একটি অ্যাকশন সম্পাদন করে। এই পদ্ধতি ডেটা বিশ্লেষণের কাজকে সহজ এবং কার্যকরী করে।
প্যাটার্ন
প্যাটার্নগুলি শর্ত নির্দেশ করে যা AWK প্রোগ্রামে প্রয়োগ করা হয়। একটি প্যাটার্ন হল একটি নির্দিষ্ট নিয়ম বা শর্ত যা রেকর্ড বা লাইনে নির্ধারণ করে। AWK এর কিছু সাধারণ প্যাটার্ন হল:
- রেগুলার এক্সপ্রেশন: নির্দিষ্ট শব্দ বা অক্ষরের সিকোয়েন্স খুঁজে বের করার জন্য ব্যবহৃত হয়। যেমন
/pattern/। - রেকর্ড নম্বর: একটি নির্দিষ্ট রেকর্ড নম্বর নির্দেশ করে। যেমন
NR == 5(পঞ্চম রেকর্ড)। - শর্তাবলী: কোন ফিল্ডের মানের ভিত্তিতে শর্ত। যেমন
$1 > 100(প্রথম ফিল্ড 100 এর বেশি)।
অ্যাকশন
অ্যাকশনগুলি হল সেই কার্যক্রম যা AWK প্যাটার্ন ম্যাচ হলে সম্পাদন করে। অ্যাকশনগুলি সাধারণত {} বন্ধনীর মধ্যে থাকে এবং এতে বিভিন্ন অপারেশন অন্তর্ভুক্ত থাকতে পারে, যেমন print, printf, পরিবর্তন, গণনা ইত্যাদি।
সিনট্যাক্স
AWK এর সাধারণ সিনট্যাক্স হলো:
awk 'pattern { action }' filenameউদাহরণ
বেসিক ডেটা প্রক্রিয়াকরণ:
awk '{print $1, $3}' filename.txtএখানে, প্রতিটি লাইনের প্রথম এবং তৃতীয় কলাম প্রিন্ট হবে।
শর্তযুক্ত ডেটা প্রক্রিয়াকরণ:
awk '$2 > 50 {print $1}' filename.txtএখানে, যদি দ্বিতীয় কলামের মান 50 এর বেশি হয়, তবে প্রথম কলাম প্রিন্ট হবে।
রেগুলার এক্সপ্রেশন ব্যবহার:
awk '/error/ {print $0}' logfile.txtএখানে,
logfile.txtফাইলে "error" শব্দযুক্ত সব লাইন প্রিন্ট হবে।গণনা এবং আউটপুট:
awk '{sum += $2} END {print sum}' filename.txtএখানে, দ্বিতীয় কলামের সব মান যোগ করে শেষে মোট যোগফল প্রিন্ট হবে।
মাল্টিপল শর্তাবলী ব্যবহার:
awk '($1 > 100 && $2 < 50) {print $0}' filename.txtএখানে, যদি প্রথম কলাম 100 এর বেশি এবং দ্বিতীয় কলাম 50 এর কম হয়, তবে পুরো রেকর্ড প্রিন্ট হবে।
একত্রিত প্যাটার্ন এবং অ্যাকশন
একাধিক প্যাটার্ন এবং অ্যাকশন একসাথে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ:
awk '$1 ~ /^[A-Z]/ {print $0} $3 < 100 {print $1, $3}' filename.txtএখানে, প্রথম প্যাটার্নটি চেক করে যে প্রথম কলামের মান বড় হাতের অক্ষরে শুরু হচ্ছে কিনা এবং সেই ক্ষেত্রে পুরো লাইন প্রিন্ট করে। দ্বিতীয় প্যাটার্নটি তৃতীয় কলামের মান 100 এর কম হলে প্রথম এবং তৃতীয় কলাম প্রিন্ট করে।
সারসংক্ষেপ
AWK এর প্যাটার্ন এবং অ্যাকশন ভিত্তিক ডেটা প্রক্রিয়াকরণ একটি শক্তিশালী টুল যা ব্যবহারকারীদের বিভিন্ন শর্ত অনুযায়ী ডেটা বিশ্লেষণ করতে সহায়তা করে। এটি ডেটা ফাইল থেকে তথ্য বের করতে, প্রক্রিয়া করতে এবং ফলাফল উপস্থাপন করতে খুবই কার্যকর। AWK এর এই বৈশিষ্ট্যগুলি ব্যবহার করে, আপনি জটিল ডেটা বিশ্লেষণ এবং প্রক্রিয়াকরণ কাজকে দ্রুত এবং সহজে সম্পন্ন করতে পারেন।
Read more