AWK ব্যবহার করে ফাইল থেকে Data Extraction এবং ফাইলে Data লিখা
AWK একটি শক্তিশালী টুল যা ফাইল থেকে ডেটা বের করা (Data Extraction) এবং ফাইলে ডেটা লিখার (Data Writing) কাজকে সহজ এবং কার্যকর করে। এটি টেক্সট ফাইলের লাইন এবং ফিল্ড বিশ্লেষণ করে নির্দিষ্ট ডেটা প্রক্রিয়া করতে পারে। নিচে AWK ব্যবহার করে কিভাবে ফাইল থেকে ডেটা বের করা এবং ফাইলে ডেটা লেখা যায় তার বিস্তারিত উদাহরণ দেওয়া হলো।
১. ফাইল থেকে Data Extraction
AWK ব্যবহার করে ফাইল থেকে নির্দিষ্ট ফিল্ড বা প্যাটার্ন অনুযায়ী ডেটা বের করা যায়।
উদাহরণ: নির্দিষ্ট ফিল্ড প্রিন্ট করা
awk '{print $1, $3}' input.txtএখানে, input.txt ফাইলের প্রথম এবং তৃতীয় কলাম প্রিন্ট হবে।
উদাহরণ: প্যাটার্ন অনুযায়ী লাইন প্রিন্ট করা
awk '/error/ {print $0}' log.txtএখানে, log.txt ফাইলের যেসব লাইনে "error" শব্দ রয়েছে, সেগুলি প্রিন্ট হবে।
২. ফাইলে Data লিখা
AWK ব্যবহার করে ডেটা প্রসেস করে তা নতুন ফাইলে বা বিদ্যমান ফাইলে লেখা সম্ভব।
উদাহরণ: ফাইল থেকে ডেটা পড়ে নতুন ফাইলে লেখা
awk '{print $1, $3}' input.txt > output.txtএখানে, input.txt ফাইলের প্রথম এবং তৃতীয় কলাম output.txt ফাইলে লেখা হবে। > অপারেটরটি ব্যবহার করে বিদ্যমান ফাইল ওভাররাইট করা হয়।
উদাহরণ: বিদ্যমান ফাইলে ডেটা অ্যাপেন্ড করা
awk '/success/ {print $0}' log.txt >> result.txtএখানে, log.txt ফাইলের যেসব লাইনে "success" শব্দ রয়েছে, সেগুলি result.txt ফাইলে অ্যাপেন্ড করা হবে। >> অপারেটরটি বিদ্যমান ফাইলে ডেটা যোগ করে।
৩. BEGIN এবং END ব্লক ব্যবহার করে ডেটা প্রসেসিং
AWK এ BEGIN এবং END ব্লক ব্যবহার করে ফাইল লেখার আগে বা পরে নির্দিষ্ট কমান্ড চালানো যায়।
উদাহরণ: ডেটা প্রসেস করার আগে এবং পরে টেক্সট প্রিন্ট করা
awk 'BEGIN {print "Processing starts"} {print $1, $2} END {print "Processing ends"}' input.txt > output.txtএখানে, input.txt ফাইলের প্রথম এবং দ্বিতীয় কলাম output.txt ফাইলে লেখা হবে এবং ফাইলের শুরুতে "Processing starts" এবং শেষে "Processing ends" লেখা হবে।
৪. Shell Script এর মাধ্যমে AWK ব্যবহার করে ফাইলে ডেটা লেখা
AWK এর ক্ষমতা Shell Script এর মধ্যে সংযোজন করা হলে ডেটা প্রসেসিং আরও উন্নত হয়।
run_script.sh:
#!/bin/bash
# ফাইল থেকে ডেটা পড়ে নতুন ফাইলে লেখা
awk '{if ($2 > 50) print $0}' data.txt > filtered_data.txtএখানে, data.txt ফাইলের যেসব লাইনে দ্বিতীয় কলামের মান ৫০ এর বেশি, সেগুলি filtered_data.txt ফাইলে লেখা হবে।
সারসংক্ষেপ
AWK ব্যবহার করে ফাইল থেকে ডেটা বের করা এবং ফাইলে ডেটা লেখার কাজ অত্যন্ত কার্যকরভাবে করা যায়। এটি সহজ সিনট্যাক্স এবং শক্তিশালী ফিচারের মাধ্যমে ডেটা প্রসেসিং এবং বিশ্লেষণের কাজকে দ্রুত এবং সুশৃঙ্খল করে তোলে। > এবং >> অপারেটর ব্যবহার করে ডেটা নতুন ফাইলে লেখা বা বিদ্যমান ফাইলে অ্যাপেন্ড করা যায়। Shell Script এর সাথে AWK এর সমন্বয় ডেটা ম্যানিপুলেশনের শক্তিশালী সমাধান প্রদান করে।
Read more