AWK এর মাধ্যমে রিপোর্ট জেনারেশন (Report Generation using AWK)
AWK একটি বহুমুখী টুল যা ডেটা প্রসেসিং এবং টেক্সট ফাইল থেকে বিভিন্ন ধরনের রিপোর্ট তৈরিতে ব্যবহৃত হয়। AWK এর সহজ সিনট্যাক্স এবং শক্তিশালী ডেটা ফিল্টারিং ক্ষমতা ব্যবহার করে জটিল রিপোর্ট তৈরি করা যায়। রিপোর্ট জেনারেশনের জন্য AWK বিশেষভাবে কার্যকর, কারণ এটি ইনপুট ফাইল থেকে ডেটা প্রক্রিয়া করে প্রয়োজনীয় আউটপুট তৈরি করতে পারে।
AWK দিয়ে রিপোর্ট জেনারেশন কেন গুরুত্বপূর্ণ?
AWK এর সাহায্যে ডেটা বিশ্লেষণ, সারসংক্ষেপ তৈরি এবং বড় ডেটাসেট থেকে গুরুত্বপূর্ণ তথ্য বের করা সহজ হয়। এটি বিভিন্ন ধরনের ফিল্টার এবং ফরম্যাটিং ব্যবহার করে ব্যবহারকারীদের প্রয়োজন অনুযায়ী রিপোর্ট তৈরি করতে সহায়তা করে।
উদাহরণ: সরল রিপোর্ট জেনারেশন
ধরা যাক, আপনার কাছে একটি CSV ফাইল আছে যেখানে কর্মচারীদের নাম, বিভাগ এবং বেতন রয়েছে। আপনি প্রতিটি বিভাগের মোট বেতনের একটি রিপোর্ট তৈরি করতে চান।
ইনপুট ফাইল (employees.csv):
Name,Department,Salary
John,Sales,5000
Jane,HR,6000
Doe,Sales,5500
Anna,HR,6500AWK স্ক্রিপ্ট:
awk -F "," 'NR > 1 { salary[$2] += $3 } END { for (dept in salary) print dept ": $" salary[dept] }' employees.csvবিস্তারিত ব্যাখ্যা:
-F ","ফিল্ড বিভাজক হিসেবে কমা নির্ধারণ করে।NR > 1প্রথম লাইন (শিরোনাম) বাদ দেয়।salary[$2] += $3প্রতিটি বিভাগের মোট বেতন যোগ করে।END { for (dept in salary) print dept ": $" salary[dept] }প্রতিটি বিভাগের মোট বেতন প্রিন্ট করে।
আউটপুট:
Sales: $10500
HR: $12500কলামভিত্তিক রিপোর্ট জেনারেশন
নির্দিষ্ট কলাম থেকে ডেটা বের করে ফরম্যাট করা রিপোর্ট তৈরি করা যায়।
উদাহরণ: নির্দিষ্ট কলাম সহ রিপোর্ট
awk '{ printf "%-10s %-15s %5s\n", $1, $2, $3 }' datafile.txtএটি প্রতিটি লাইনের প্রথম, দ্বিতীয় এবং তৃতীয় কলামকে নির্দিষ্ট ফরম্যাটে প্রিন্ট করবে।
গ্রুপিং এবং সারসংক্ষেপ রিপোর্ট
AWK ব্যবহার করে সহজেই গ্রুপভিত্তিক রিপোর্ট তৈরি করা যায়, যেখানে ডেটা নির্দিষ্ট কলামের ভিত্তিতে গ্রুপ করা হয়।
উদাহরণ: বিভাগের ভিত্তিতে বেতন গড় বের করা
awk -F "," 'NR > 1 { salary[$2] += $3; count[$2]++ } END { for (dept in salary) print dept ": Average Salary = $" salary[dept]/count[dept] }' employees.csvআউটপুট:
Sales: Average Salary = $5250
HR: Average Salary = $6250ফাইল আউটপুটে রিপোর্ট লেখা
AWK এর মাধ্যমে রিপোর্টকে সরাসরি ফাইলে লেখা যায়।
উদাহরণ:
awk -F "," 'NR > 1 { salary[$2] += $3 } END { for (dept in salary) print dept ": $" salary[dept] > "report.txt" }' employees.csvএই স্ক্রিপ্টটি প্রতিটি বিভাগের মোট বেতনের রিপোর্ট report.txt ফাইলে লিখবে।
রিপোর্ট ফরম্যাটিং
AWK এর printf ফাংশন ব্যবহার করে আউটপুটকে আরও সুন্দরভাবে ফরম্যাট করা যায়।
উদাহরণ:
awk -F "," 'NR > 1 { salary[$2] += $3 } END { printf "%-15s %10s\n", "Department", "Total Salary"; for (dept in salary) printf "%-15s $%10.2f\n", dept, salary[dept] }' employees.csvআউটপুট:
Department Total Salary
Sales $ 10500.00
HR $ 12500.00সারসংক্ষেপ
AWK এর মাধ্যমে রিপোর্ট জেনারেশন খুবই কার্যকর এবং সহজ। AWK এর শক্তিশালী ফিল্টারিং, গ্রুপিং, এবং ফরম্যাটিং ক্ষমতা ব্যবহার করে বড় ডেটাসেট থেকে প্রয়োজনীয় তথ্য বের করে সুন্দরভাবে উপস্থাপন করা যায়। এটি ডেটা বিশ্লেষণ, পরিসংখ্যান তৈরি, এবং রিপোর্টিংয়ের জন্য অত্যন্ত সহায়ক।
রিপোর্ট ফরম্যাটিং এবং প্রিন্টিং Techniques
AWK এবং অন্যান্য প্রোগ্রামিং ভাষায় রিপোর্ট ফরম্যাটিং এবং প্রিন্টিং ডেটা উপস্থাপনার একটি গুরুত্বপূর্ণ অংশ। এটি ডেটাকে স্পষ্ট, পাঠযোগ্য, এবং সংক্ষিপ্তভাবে উপস্থাপন করতে সহায়তা করে। AWK-তে রিপোর্ট ফরম্যাটিংয়ের জন্য printf ফাংশন এবং অন্যান্য কৌশল ব্যবহার করা হয়, যা আউটপুটে নির্দিষ্ট বিন্যাসে ডেটা প্রিন্ট করতে সহায়ক।
1. printf ফাংশন ব্যবহার করে ফরম্যাটিং
printf ফাংশন ব্যবহার করে আপনি আউটপুটকে কাস্টম ফরম্যাটে প্রিন্ট করতে পারেন। এটি বিভিন্ন ফরম্যাট স্পেসিফায়ার ব্যবহার করে আউটপুট সাজানোর সুযোগ দেয়।
সাধারণ ফরম্যাট স্পেসিফায়ার:
%s: স্ট্রিং আউটপুটের জন্য।%d: পূর্ণসংখ্যা আউটপুটের জন্য।%f: ভগ্নাংশ সংখ্যা আউটপুটের জন্য।%.nf: নির্দিষ্ট সংখ্যক দশমিক পর্যন্ত ভগ্নাংশ সংখ্যা প্রদর্শন।
উদাহরণ:
awk 'BEGIN {
name = "Alice"
age = 30
gpa = 3.75
printf "Name: %s, Age: %d, GPA: %.2f\n", name, age, gpa
}'আউটপুট:
Name: Alice, Age: 30, GPA: 3.752. কলামের প্রস্থ নির্ধারণ
printf ফাংশনের মাধ্যমে কলামের প্রস্থ নির্ধারণ করে আউটপুটের কলামগুলো সঠিকভাবে সাজানো যায়।
উদাহরণ:
awk 'BEGIN {
printf "%-10s %-5s %-5s\n", "Name", "Age", "GPA"
printf "%-10s %-5d %-5.2f\n", "Alice", 30, 3.75
printf "%-10s %-5d %-5.2f\n", "Bob", 25, 3.50
}'আউটপুট:
Name Age GPA
Alice 30 3.75
Bob 25 3.50 নোট:
%-এর পরে-চিহ্ন দিলে বাম দিকে সজ্জিত হয়, এবং কোনও চিহ্ন না দিলে ডান দিকে সজ্জিত হয়।
3. প্রিন্টিং এবং ফরম্যাটিং কৌশল
নতুন লাইন (\n) এবং ট্যাব (\t) ব্যবহারের উদাহরণ:
awk 'BEGIN {
print "Report\n---------"
print "Name\tAge\tGPA"
print "Alice\t30\t3.75"
print "Bob\t25\t3.50"
}'আউটপুট:
Report
---------
Name Age GPA
Alice 30 3.75
Bob 25 3.504. সংখ্যার অবস্থান নির্ধারণ
সংখ্যাগুলি ডানদিকে সজ্জিত করতে নির্দিষ্ট প্রস্থ ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ:
awk 'BEGIN {
num1 = 123
num2 = 4567
printf "%10d\n", num1
printf "%10d\n", num2
}'আউটপুট:
123
45675. শিরোনাম এবং উপসংহার যোগ করা
রিপোর্টের শুরুতে শিরোনাম এবং শেষে উপসংহার যোগ করতে BEGIN এবং END ব্লক ব্যবহার করা যায়।
awk 'BEGIN {
print "Employee Report"
print "---------------"
}
{
printf "%-10s %-5s\n", $1, $2
}
END {
print "---------------"
print "End of Report"
}' employee.txtআউটপুট:
Employee Report
---------------
John 35
Alice 28
Mike 40
---------------
End of Report6. আউটপুট ফাইলে সংরক্ষণ
AWK আউটপুটকে একটি ফাইলে সংরক্ষণ করতে > বা >> অপারেটর ব্যবহার করা যায়।
awk '{ printf "%-10s %-5d\n", $1, $2 }' data.txt > report.txtএই কমান্ডটি data.txt ফাইল থেকে ফরম্যাটেড আউটপুট report.txt ফাইলে সংরক্ষণ করবে।
সারসংক্ষেপ
AWK-তে রিপোর্ট ফরম্যাটিং এবং প্রিন্টিং টেকনিকগুলি আপনাকে পরিষ্কার, পাঠযোগ্য, এবং পেশাদারী আউটপুট তৈরি করতে সহায়তা করে। printf ফাংশন এবং বিভিন্ন ফরম্যাট স্পেসিফায়ার ব্যবহার করে আপনি আউটপুটকে আরও নিয়ন্ত্রিত এবং সাজানোভাবে উপস্থাপন করতে পারেন। এর ফলে বড় আকারের ডেটা সহজে বিশ্লেষণ এবং উপস্থাপন করা সম্ভব হয়।
AWK এ Data Aggregation এবং Summarization
AWK একটি অত্যন্ত কার্যকর টুল যা বড় ডেটাসেট থেকে ডেটা অ্যাগ্রিগেশন (সংগ্রহ) এবং সামারাইজেশন (সারসংক্ষেপ) করতে ব্যবহৃত হয়। বিভিন্ন ধরনের ডেটা বিশ্লেষণ, যেমন গড় নির্ণয়, সর্বোচ্চ এবং সর্বনিম্ন মান বের করা, মোট যোগফল ইত্যাদি, AWK ব্যবহার করে করা যায়। নিচে ডেটা অ্যাগ্রিগেশন এবং সামারাইজেশনের কয়েকটি উদাহরণ এবং কৌশল দেখানো হলো।
সাধারণ ডেটা অ্যাগ্রিগেশন পদ্ধতি
AWK এ ডেটা অ্যাগ্রিগেশন করার জন্য সাধারণত লুপ এবং অ্যারে ব্যবহার করা হয়। BEGIN, END, এবং মূল স্ক্রিপ্ট ব্লকে বিভিন্ন কার্যক্রম সম্পন্ন করা হয়।
উদাহরণসমূহ
উদাহরণ ১: মোট যোগফল নির্ণয়
awk '{ sum += $2 } END { print "Total:", sum }' data.txtবর্ণনা:
- প্রতিটি লাইনের দ্বিতীয় কলামের মান
sumভেরিয়েবলে যোগ করা হয়েছে। ENDব্লকে মোট যোগফল প্রিন্ট করা হয়েছে।
উদাহরণ ২: গড় নির্ণয়
awk '{ sum += $2; count++ } END { if (count > 0) print "Average:", sum / count }' data.txtবর্ণনা:
- প্রতিটি লাইনের দ্বিতীয় কলামের মান
sumএ যোগ করা হয়েছে এবংcountদিয়ে মোট লাইন সংখ্যা গণনা করা হয়েছে। ENDব্লকে গড় বের করার জন্যsum / countব্যবহার করা হয়েছে।
উদাহরণ ৩: সর্বোচ্চ এবং সর্বনিম্ন মান নির্ণয়
awk 'NR == 1 { max = min = $2 }
{
if ($2 > max) max = $2
if ($2 < min) min = $2
}
END {
print "Max value:", max
print "Min value:", min
}' data.txtবর্ণনা:
- প্রথম লাইনে,
maxএবংminকে প্রথম মান হিসাবে সেট করা হয়েছে। - প্রতিটি লাইনে মান পরীক্ষা করে,
maxএবংminআপডেট করা হয়েছে। ENDব্লকে সর্বোচ্চ এবং সর্বনিম্ন মান প্রিন্ট করা হয়েছে।
গ্রুপ অনুযায়ী ডেটা সামারাইজেশন
AWK এ অ্যারে ব্যবহার করে গ্রুপ ভিত্তিক ডেটা অ্যাগ্রিগেশন করা যায়।
উদাহরণ ৪: বিক্রেতা অনুযায়ী মোট বিক্রয়
awk '{ sales[$1] += $3 } END { for (seller in sales) print seller, "Total sales:", sales[seller] }' sales_data.txtবর্ণনা:
- প্রতিটি লাইনের প্রথম কলামকে (বিক্রেতার নাম) ইনডেক্স হিসেবে ব্যবহার করে, তৃতীয় কলামের (বিক্রয় সংখ্যা) মান যোগ করা হয়েছে।
ENDব্লকে প্রতিটি বিক্রেতার নাম এবং তার মোট বিক্রয় প্রিন্ট করা হয়েছে।
ডেটা ফিল্টারিং সহ সামারাইজেশন
AWK এ শর্ত যোগ করে ডেটা সামারাইজেশন আরও কার্যকরী করা যায়।
উদাহরণ ৫: নির্দিষ্ট শর্তে ডেটা যোগফল বের করা
awk '$2 > 50 { sum += $3 } END { print "Total sales for items over 50 units:", sum }' sales_data.txtবর্ণনা:
- দ্বিতীয় কলামের মান ৫০ এর বেশি হলে তৃতীয় কলামের মান
sumএ যোগ করা হয়েছে। ENDব্লকে মোট যোগফল প্রিন্ট করা হয়েছে।
কাস্টম ফাংশন ব্যবহার করে সামারাইজেশন
AWK এ কাস্টম ফাংশন ব্যবহার করে সামারাইজেশনকে আরও সহজ এবং পুনঃব্যবহারযোগ্য করা যায়।
awk '
function calculate_average(total, count) {
return (count > 0) ? total / count : 0
}
{
sum += $2
count++
}
END {
avg = calculate_average(sum, count)
print "Total:", sum
print "Average:", avg
}
' data.txtবর্ণনা:
calculate_averageনামে একটি কাস্টম ফাংশন তৈরি করা হয়েছে যা গড় বের করে।ENDব্লকেsumএবংavgপ্রিন্ট করা হয়েছে।
সারসংক্ষেপ
AWK ব্যবহার করে ডেটা অ্যাগ্রিগেশন এবং সামারাইজেশন সহজে এবং কার্যকরভাবে করা যায়। লুপ, অ্যারে এবং কাস্টম ফাংশন ব্যবহার করে AWK জটিল ডেটা প্রক্রিয়াকরণ এবং বিশ্লেষণের কাজ দ্রুত করতে সক্ষম। ডেটা বিশ্লেষণ এবং সামারাইজেশনের ক্ষেত্রে AWK একটি গুরুত্বপূর্ণ টুল যা প্রোগ্রামারদের ডেটা বিশ্লেষণকে সহজ এবং দ্রুত করতে সহায়তা করে।
Custom Reports তৈরি করা
AWK একটি শক্তিশালী টুল যা ডেটা ফাইল থেকে কাস্টম রিপোর্ট তৈরি করতে ব্যবহৃত হয়। এর সহজ সিনট্যাক্স এবং শক্তিশালী ডেটা প্রসেসিং ক্ষমতার জন্য AWK জনপ্রিয়। কাস্টম রিপোর্ট তৈরি করার জন্য, আপনি ডেটা ফিল্টারিং, ফরম্যাটিং, এবং বিশেষভাবে আউটপুটের কাঠামো তৈরি করতে পারেন।
কাস্টম রিপোর্ট তৈরির পদ্ধতি
1. ডেটা ইনপুট এবং প্রাথমিক প্রস্তুতি
প্রথমে, ডেটা ফাইল প্রস্তুত করতে হবে। ধরুন, আমাদের কাছে একটি sales.txt ফাইল রয়েছে, যার মধ্যে কিছু বিক্রির তথ্য রয়েছে:
Product,Category,Price,Quantity
Apple,Fruit,0.50,10
Banana,Fruit,0.30,5
Carrot,Vegetable,0.20,20
Tomato,Vegetable,0.25,152. AWK ব্যবহার করে কাস্টম রিপোর্ট তৈরি করা
AWK ব্যবহার করে এই ডেটার উপর ভিত্তি করে একটি কাস্টম রিপোর্ট তৈরি করা যেতে পারে। নিচে কিছু উদাহরণ দেওয়া হলো।
উদাহরণ 1: সাধারণ রিপোর্ট তৈরি করা
awk -F, 'NR > 1 { total += $3 * $4; print "Product: " $1 ", Total Sales: $" $3 * $4 } END { print "Overall Total Sales: $" total }' sales.txtব্যাখ্যা:
-F,: কমা (,) কে ফিল্ড সেপারেটর হিসেবে সেট করা হয়েছে।NR > 1: প্রথম লাইনের হেডার বাদ দেওয়া হয়েছে।total += $3 * $4: প্রতিটি পণ্যের মোট বিক্রি হিসাব করা হয়েছে।print: পণ্য এবং তার মোট বিক্রির তথ্য প্রিন্ট করা হয়েছে।END: প্রোগ্রামের শেষে মোট বিক্রির তথ্য প্রিন্ট করা হয়েছে।
উদাহরণ 2: ক্যাটাগরি ভিত্তিক রিপোর্ট তৈরি করা
awk -F, 'NR > 1 { category[$2] += $3 * $4 }
END {
print "Category-wise Total Sales:"
for (cat in category) {
print "Category: " cat ", Total Sales: $" category[cat]
}
}' sales.txtব্যাখ্যা:
category[$2] += $3 * $4: ক্যাটাগরি ভিত্তিক মোট বিক্রি হিসাব করা হয়েছে।for (cat in category): প্রতিটি ক্যাটাগরির জন্য মোট বিক্রি প্রিন্ট করা হয়েছে।
উদাহরণ 3: নির্দিষ্ট ফরম্যাটে রিপোর্ট তৈরি করা
awk -F, 'NR > 1 { printf "%-10s %-10s %-6s %-8s %-10s\n", $1, $2, $3, $4, $3*$4 }' sales.txtব্যাখ্যা:
printf: আউটপুটকে একটি নির্দিষ্ট ফরম্যাটে প্রিন্ট করতে ব্যবহৃত হয়।%-10s: 10 চরিত্রের জন্য বাম থেকে অ্যালাইন করা হবে। এর মাধ্যমে সুন্দরভাবে রিপোর্ট তৈরি হয়।
3. ফলাফল সংরক্ষণ করা
কাস্টম রিপোর্ট তৈরি করার পর, আপনি ফলাফলকে একটি ফাইলে সংরক্ষণ করতে পারেন:
awk -F, 'NR > 1 { total += $3 * $4; print "Product: " $1 ", Total Sales: $" $3 * $4 } END { print "Overall Total Sales: $" total }' sales.txt > report.txtএটি report.txt ফাইলে আউটপুট সংরক্ষণ করবে।
4. জটিল রিপোর্ট তৈরি করা
আপনি AWK এর মধ্যে শর্ত, লুপ, এবং ফাংশন ব্যবহার করে জটিল রিপোর্ট তৈরি করতে পারেন।
awk -F, '
function totalSales(price, quantity) {
return price * quantity
}
NR > 1 {
sales[$2] += totalSales($3, $4)
}
END {
print "Sales Summary:"
for (cat in sales) {
print "Category:", cat, "Total Sales: $", sales[cat]
}
}' sales.txtব্যাখ্যা:
function totalSales: একটি ফাংশন তৈরি করে যা মূল্য এবং পরিমাণের উপর ভিত্তি করে মোট বিক্রির হিসাব করে।- ক্যাটাগরি ভিত্তিক মোট বিক্রি রিপোর্ট তৈরি করা হয়েছে।
সারসংক্ষেপ
AWK ব্যবহার করে কাস্টম রিপোর্ট তৈরি করা একটি সহজ এবং কার্যকরী প্রক্রিয়া। ডেটা ইনপুট, ফিল্টারিং, এবং আউটপুট ফরম্যাটিং এর মাধ্যমে AWK ব্যবহারকারীরা সহজে তাদের প্রয়োজনীয় রিপোর্ট তৈরি করতে পারেন। AWK এর এই ক্ষমতা ডেটা বিশ্লেষণের সময় খুবই কার্যকর।
AWK ব্যবহার করে রিপোর্ট জেনারেশনের উদাহরণ
AWK প্রোগ্রামিং ভাষা একটি শক্তিশালী টুল যা সহজে টেক্সট ফাইল থেকে ডেটা বিশ্লেষণ ও রিপোর্ট তৈরি করতে ব্যবহৃত হয়। নিচে বিভিন্ন ধরনের রিপোর্ট জেনারেশন সম্পর্কিত উদাহরণ দেওয়া হলো।
১. সারসংক্ষেপ রিপোর্ট
একটি টেক্সট ফাইল থেকে সারসংক্ষেপ রিপোর্ট তৈরি করা, যেখানে প্রতিটি বিভাগে সংখ্যা গণনা করা হয়।
উদাহরণ: বিক্রির রিপোর্ট
ধরা যাক, আমাদের কাছে sales.txt ফাইল আছে, যা বিক্রির তথ্য ধারণ করে:
ProductA 100
ProductB 150
ProductA 200
ProductC 300
ProductB 100
ProductC 150এখন আমরা প্রতিটি পণ্যের মোট বিক্রয় গণনা করে একটি রিপোর্ট তৈরি করতে পারি:
awk '{
sales[$1] += $2 # পণ্যের নামের উপর ভিত্তি করে বিক্রয় যোগ করা
}
END {
print "Product Sales Report"
print "======================"
for (product in sales) {
printf "%-10s : %d\n", product, sales[product]
}
}' sales.txtআউটপুট:
Product Sales Report
======================
ProductA : 300
ProductB : 250
ProductC : 450২. শর্তাধীন রিপোর্ট
কিছু নির্দিষ্ট শর্তের ভিত্তিতে রিপোর্ট তৈরি করা।
উদাহরণ: উচ্চ বিক্রয় রিপোর্ট
একটি রিপোর্ট তৈরি করা যা শুধুমাত্র 200 এর বেশি বিক্রয় বিশিষ্ট পণ্য প্রদর্শন করবে:
awk '{
if ($2 > 200) {
printf "Product: %-10s Sales: %d\n", $1, $2
}
}' sales.txtআউটপুট:
Product: ProductA Sales: 200
Product: ProductC Sales: 300৩. গড় রিপোর্ট
কোনও ক্ষেত্রের গড় মান গণনা করে রিপোর্ট তৈরি করা।
উদাহরণ: গড় বিক্রয় রিপোর্ট
awk '{
total += $2 # মোট বিক্রয় যোগ করা
count++ # সংখ্যা গণনা করা
}
END {
avg = total / count # গড় গণনা করা
printf "Average Sales: %.2f\n", avg
}' sales.txtআউটপুট:
Average Sales: 208.33৪. টেবিল ফরম্যাটে রিপোর্ট
অ্যালাইনমেন্ট এবং ফরম্যাটিং ব্যবহার করে একটি সুন্দর টেবিল রিপোর্ট তৈরি করা।
উদাহরণ: সুন্দর টেবিল ফরম্যাটে রিপোর্ট
awk 'BEGIN {
print "Product | Sales"
print "-------------|-------"
}
{
printf "%-12s | %d\n", $1, $2
}' sales.txtআউটপুট:
Product | Sales
-------------|-------
ProductA | 300
ProductB | 250
ProductC | 450৫. সময় ভিত্তিক রিপোর্ট
মাল্টিপল ফাইল থেকে ডেটা একত্রিত করে রিপোর্ট তৈরি করা।
উদাহরণ: মাসিক রিপোর্ট
ধরি, আমাদের কাছে january_sales.txt এবং february_sales.txt রয়েছে:
january_sales.txt:
ProductA 100
ProductB 150february_sales.txt:
ProductA 200
ProductB 250এখন আমরা দুই মাসের বিক্রয় যোগ করে রিপোর্ট তৈরি করতে পারি:
awk '{
sales[$1] += $2 # একত্রিত করা
}
END {
print "Monthly Sales Report"
print "======================"
for (product in sales) {
printf "%-10s : %d\n", product, sales[product]
}
}' january_sales.txt february_sales.txtআউটপুট:
Monthly Sales Report
======================
ProductA : 300
ProductB : 400সারসংক্ষেপ
AWK একটি অত্যন্ত কার্যকরী টুল যা সহজেই রিপোর্ট জেনারেশনের কাজ সম্পন্ন করতে পারে। এটি বিভিন্ন ধরনের তথ্য যেমন সংখ্যা, গড়, শর্ত, এবং টেবিল ফরম্যাটে রিপোর্ট তৈরি করার ক্ষমতা প্রদান করে। AWK এর এই বৈশিষ্ট্যগুলি ব্যবহার করে বিশাল ডেটাসেটের মধ্যে তথ্য বিশ্লেষণ এবং উপস্থাপন সহজ হয়ে যায়।
Read more