AWK এ File Redirection এবং File Input/Output
AWK ব্যবহার করে ডেটা প্রসেসিংয়ের সময় আমরা আউটপুট অন্য একটি ফাইলে সংরক্ষণ করতে বা ইনপুট এক বা একাধিক ফাইল থেকে নিতে পারি। File Redirection এবং File Input/Output এর মাধ্যমে জটিল ডেটা প্রক্রিয়াকরণ সহজে করা যায়।
File Redirection (আউটপুট রিডাইরেকশন)
AWK এ > এবং >> চিহ্ন ব্যবহার করে আউটপুটকে ফাইলে রিডাইরেক্ট করা যায়:
>: নতুন আউটপুট ফাইল তৈরি করে এবং পুরোনো ডেটা ওভাররাইট করে।>>: বিদ্যমান ফাইলের শেষে আউটপুট অ্যাপেন্ড করে।
উদাহরণ ১: AWK আউটপুট ফাইলে রিডাইরেক্ট করা
awk '{print $1, $2}' input.txt > output.txtএখানে, input.txt ফাইলের প্রথম এবং দ্বিতীয় কলাম output.txt ফাইলে সংরক্ষণ করা হবে। যদি output.txt আগে থেকে থাকে, তাহলে তার পুরোনো ডেটা ওভাররাইট হবে।
উদাহরণ ২: আউটপুট অ্যাপেন্ড করা
awk '{print $1, $2}' input.txt >> output.txtএখানে, input.txt ফাইলের প্রথম এবং দ্বিতীয় কলাম output.txt ফাইলের শেষে যোগ করা হবে।
File Input (এক বা একাধিক ফাইল থেকে ইনপুট নেওয়া)
AWK ব্যবহার করে এক বা একাধিক ফাইল থেকে ডেটা নেওয়া যায়। একাধিক ফাইলের ক্ষেত্রে AWK প্রতিটি ফাইল আলাদা করে প্রক্রিয়া করে।
উদাহরণ ৩: একাধিক ফাইল থেকে ডেটা প্রক্রিয়াকরণ
awk '{print $1, $2}' file1.txt file2.txtএখানে, file1.txt এবং file2.txt উভয় ফাইলের প্রথম এবং দ্বিতীয় কলাম প্রিন্ট হবে।
উদাহরণ ৪: ফাইলের নামসহ আউটপুট
AWK এর বিল্ট-ইন ভেরিয়েবল FILENAME ব্যবহার করে ইনপুট ফাইলের নামসহ আউটপুট প্রিন্ট করা যায়:
awk '{print FILENAME ": " $0}' file1.txt file2.txtএখানে, প্রতিটি লাইন তার ফাইলের নামসহ প্রিন্ট হবে।
File Input/Output সহ AWK এর অ্যাডভান্সড ব্যবহার
AWK স্ক্রিপ্টের মধ্যে ফাইল ইনপুট/আউটপুটও করা যায়।
উদাহরণ ৫: আউটপুট ফাইলে রিডাইরেক্ট করা
awk '{
if ($3 > 50) {
print $0 > "high_scores.txt" # তৃতীয় কলামের মান ৫০ এর বেশি হলে এই ফাইলে সংরক্ষণ
} else {
print $0 > "low_scores.txt" # অন্যথায় এই ফাইলে সংরক্ষণ
}
}' scores.txtএখানে, scores.txt ফাইলের তৃতীয় কলাম চেক করা হচ্ছে। যদি মান ৫০ এর বেশি হয়, তবে সেই লাইন high_scores.txt তে সংরক্ষণ করা হবে, আর যদি কম হয় তবে low_scores.txt তে সংরক্ষণ করা হবে।
উদাহরণ ৬: আউটপুট ফাইল ক্লোজ করা
AWK এ একটি ফাইলের আউটপুট সম্পন্ন হলে তা ক্লোজ করা জরুরি হতে পারে। ক্লোজ করার জন্য close() ফাংশন ব্যবহার করা হয়:
awk '{
print $0 > "output.txt"
close("output.txt") # প্রতিটি আউটপুটের পরে ফাইল ক্লোজ করা হচ্ছে
}' input.txtএটি নিশ্চিত করে যে, পরবর্তী আউটপুট একই ফাইলে পুনরায় লেখা যাবে এবং ডেটা সঠিকভাবে সংরক্ষিত হবে।
সারসংক্ষেপ
AWK এ File Redirection এবং File Input/Output ব্যবহার করে ডেটা প্রসেসিং এবং সংরক্ষণের কাজ খুবই সহজ এবং কার্যকরী। আউটপুট রিডাইরেকশন ব্যবহার করে আউটপুট ফাইলে সংরক্ষণ করা এবং এক বা একাধিক ফাইল থেকে ইনপুট নিয়ে ডেটা বিশ্লেষণ করা সম্ভব। AWK এর মাধ্যমে এই ক্ষমতা ব্যবহার করে আপনি ডেটা প্রসেসিং কাজকে আরও সহজ এবং কার্যকর করতে পারেন।
Read more