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