AWK এর কিছু বিল্ট-ইন ভেরিয়েবল রয়েছে, যা ডেটা প্রসেসিং এবং বিশ্লেষণের জন্য অত্যন্ত কার্যকরী। নিচে এই ভেরিয়েবলগুলোর বর্ণনা, কাজ এবং উদাহরণ দেওয়া হলো:
১. NR (Number of Records)
- বর্ণনা:
NRবর্তমান প্রক্রিয়া করা রেকর্ডের সংখ্যা নির্দেশ করে। এটি প্রতিটি রেকর্ড পড়ার সময় বৃদ্ধি পায়। - ব্যবহার:
NRব্যবহার করে আপনি জানতে পারেন যে মোট কতগুলি রেকর্ড (লাইন) প্রক্রিয়া হয়েছে। উদাহরণ:
awk '{print NR, $0}' filename.txtএখানে প্রতিটি লাইনের সাথে তার রেকর্ড নম্বর প্রদর্শিত হবে।
২. NF (Number of Fields)
- বর্ণনা:
NFবর্তমান রেকর্ডের মোট ফিল্ডের সংখ্যা নির্দেশ করে। এটি একটি লাইনে কতগুলি ফিল্ড আছে তা চিহ্নিত করে। - ব্যবহার:
NFব্যবহার করে আপনি জানতে পারেন একটি রেকর্ডে মোট কতটি ফিল্ড রয়েছে। উদাহরণ:
awk '{print NF}' filename.txtএখানে প্রতিটি লাইনে ফিল্ডের সংখ্যা প্রদর্শিত হবে।
৩. FNR (File Number of Records)
- বর্ণনা:
FNRবর্তমান ফাইলের মধ্যে প্রক্রিয়া করা রেকর্ডের সংখ্যা নির্দেশ করে। এটি নতুন ফাইলের জন্য শূন্য থেকে শুরু হয়। - ব্যবহার: যখন একাধিক ফাইল প্রক্রিয়া করা হচ্ছে,
FNRব্যবহার করে আপনি একটি নির্দিষ্ট ফাইলে রেকর্ড সংখ্যা পেতে পারেন। উদাহরণ:
awk '{print FNR, $0}' file1.txt file2.txtএখানে
file1.txtএবংfile2.txtউভয় ফাইলের জন্য রেকর্ড সংখ্যা প্রদর্শিত হবে।
৪. FS (Field Separator)
- বর্ণনা:
FSইনপুট ফাইলের ফিল্ড সেপারেটরের জন্য ব্যবহৃত হয়। ডিফল্টরূপে এটি স্পেস বা ট্যাব। - ব্যবহার:
FSপরিবর্তন করে আপনি ফিল্ড সেপারেটরকে কাস্টমাইজ করতে পারেন। উদাহরণ:
awk 'BEGIN {FS=","} {print $1}' filename.csvএখানে CSV ফাইলের প্রথম ফিল্ড প্রিন্ট হবে, যেখানে ফিল্ডগুলি কমা দ্বারা পৃথক করা হয়েছে।
৫. RS (Record Separator)
- বর্ণনা:
RSইনপুট রেকর্ড সেপারেটরের জন্য ব্যবহৃত হয়। ডিফল্টরূপে এটি নতুন লাইন। - ব্যবহার:
RSপরিবর্তন করে আপনি কীভাবে ইনপুট ডেটা রেকর্ডে বিভক্ত হবে তা নির্ধারণ করতে পারেন। উদাহরণ:
awk 'BEGIN {RS=","} {print}' filename.txtএখানে ফাইলটি কমা দ্বারা বিভক্ত রেকর্ড হিসেবে পড়বে।
৬. OFS (Output Field Separator)
- বর্ণনা:
OFSআউটপুট ফিল্ড সেপারেটর নির্দেশ করে, যা আউটপুটে ফিল্ডগুলির মধ্যে ব্যবহৃত হবে। - ব্যবহার:
OFSব্যবহার করে আউটপুটের ফিল্ডগুলির মধ্যে স্পেস, কমা, বা অন্য কোনো চিহ্ন ব্যবহার করা যায়। উদাহরণ:
awk 'BEGIN {OFS=";"} {print $1, $2}' filename.txtএখানে আউটপুটের ফিল্ডগুলি সেমিকোলন দ্বারা পৃথক হবে।
৭. ORS (Output Record Separator)
- বর্ণনা:
ORSআউটপুট রেকর্ড সেপারেটর নির্দেশ করে, যা রেকর্ডগুলির মধ্যে ব্যবহৃত হবে। - ব্যবহার:
ORSপরিবর্তন করে, আপনি আউটপুট রেকর্ডগুলির মধ্যে ব্যবধান পরিবর্তন করতে পারেন। উদাহরণ:
awk 'BEGIN {ORS=" | "} {print $0}' filename.txtএখানে আউটপুটে প্রতিটি লাইনের মধ্যে " | " সেপারেটর যুক্ত হবে।
এই বিল্ট-ইন ভেরিয়েবলগুলি AWK এর কার্যকারিতা বৃদ্ধি করতে এবং ডেটা বিশ্লেষণের কাজকে আরও সহজ ও কার্যকর করতে সহায়ক। এই ভেরিয়েবলগুলি ব্যবহার করে আপনি প্রয়োজনীয় তথ্য বের করতে এবং ডেটা প্রসেসিংয়ে সময় সাশ্রয় করতে পারবেন।
Read more