Field Separator (FS) এবং Record Separator (RS) এর ব্যবহার
AWK তে Field Separator (FS) এবং Record Separator (RS) হল দুটি গুরুত্বপূর্ণ উপাদান যা ডেটা প্রক্রিয়াকরণের সময় ইনপুট ডেটাকে বিভিন্ন ফিল্ড এবং রেকর্ডে ভাগ করতে ব্যবহৃত হয়। FS সাধারণত একটি লাইনের মধ্যে ফিল্ডগুলোকে আলাদা করার জন্য ব্যবহৃত হয় এবং RS বিভিন্ন লাইন বা রেকর্ডকে আলাদা করতে ব্যবহৃত হয়।
Field Separator (FS)
FS হল এমন একটি ভেরিয়েবল যা প্রতিটি লাইনের ফিল্ড বা কলামগুলোকে আলাদা করে। ডিফল্টভাবে, AWK তে FS একটি স্পেস বা ট্যাব হয়, কিন্তু এটি কাস্টমাইজ করা যেতে পারে।
FS এর ব্যবহার:
কমান্ড লাইনে -F ফ্ল্যাগ দিয়ে:
awk -F"," '{ print $1, $2 }' data.csvএখানে -F"," নির্দেশ করছে যে কমা (,) হল ফিল্ড সেপারেটর। ফলে data.csv ফাইলের প্রতিটি লাইনকে কমা দিয়ে ভাগ করা হবে।
প্রোগ্রামের মধ্যে FS পরিবর্তন:
awk 'BEGIN { FS = ":" }
{
print "First Field:", $1
print "Second Field:", $2
}' data.txtএখানে FS কলনের (:) মাধ্যমে প্রতিটি লাইনের ফিল্ডগুলোকে আলাদা করছে।
Record Separator (RS)
RS হল একটি ভেরিয়েবল যা বিভিন্ন রেকর্ড বা লাইনকে আলাদা করে। ডিফল্টভাবে, RS একটি নিউলাইন (অর্থাৎ প্রতিটি লাইন একটি রেকর্ড), তবে এটি কাস্টমাইজ করা যেতে পারে।
RS এর ব্যবহার:
প্রোগ্রামের মধ্যে RS পরিবর্তন:
awk 'BEGIN { RS = "" }
{
print "Record:", $0
}' paragraph.txtএখানে RS একটি খালি স্ট্রিং দিয়ে সেট করা হয়েছে, যা প্রতিটি প্যারাগ্রাফকে একটি রেকর্ড হিসেবে গণ্য করবে। এতে দুই লাইনের মধ্যে একটি ফাঁকা লাইন থাকলে সেটি রেকর্ড আলাদা করার সংকেত হিসেবে কাজ করবে।
কাস্টম রেকর্ড সেপারেটর ব্যবহার:
awk 'BEGIN { RS = "END" }
{
print "Record:", $0
}' document.txtএখানে RS কে "END" শব্দ দিয়ে সেট করা হয়েছে। ফলে, document.txt ফাইলের প্রতিটি রেকর্ড "END" শব্দটি দেখা পর্যন্ত গঠিত হবে।
উদাহরণ
নিচে একটি উদাহরণ দেওয়া হলো যেখানে FS এবং RS একসাথে ব্যবহার করা হয়েছে:
awk 'BEGIN { FS = ", "; RS = "\n\n" }
{
print "Record Start:"
print "First Field:", $1
print "Second Field:", $2
print "--------------------"
}' data.txtএখানে, প্রতিটি রেকর্ড দুইটি নিউলাইনের মাধ্যমে আলাদা করা হয়েছে এবং প্রতিটি ফিল্ড কমা এবং স্পেস (, ) দিয়ে আলাদা করা হয়েছে।
সারসংক্ষেপ
FS এবং RS AWK তে ডেটা প্রক্রিয়াকরণের জন্য গুরুত্বপূর্ণ উপাদান। FS ব্যবহারকারীদের ফিল্ড বা কলামগুলিকে সঠিকভাবে আলাদা করতে সাহায্য করে এবং RS বিভিন্ন রেকর্ড বা লাইন আলাদা করতে ব্যবহৃত হয়। এই ভেরিয়েবলগুলি কাস্টমাইজ করে ব্যবহারকারীরা তাদের ডেটা ফাইলের কাঠামো অনুসারে ডেটা প্রক্রিয়াকরণ করতে পারেন, যা ডেটা বিশ্লেষণকে আরও কার্যকর এবং ফলপ্রসূ করে।
Read more