Anchors রেগুলার এক্সপ্রেশনে দুটি বিশেষ চিহ্ন হলো ^ এবং $। এগুলি সাধারণত লাইন মেলানোর জন্য ব্যবহৃত হয় এবং তাদের সাহায্যে আপনি লাইনটির শুরু এবং শেষ কোথায় সেটা নির্দিষ্ট করতে পারেন। এগুলি খুবই গুরুত্বপূর্ণ যখন আপনি নির্দিষ্ট অবস্থানে কোনো প্যাটার্ন খুঁজে বের করতে চান, যেমন লাইন শুরুর বা শেষের প্যাটার্ন।
Anchors: ^ এবং $
^(Caret): এটি লাইন শুরুর প্যাটার্ন মেলানোর জন্য ব্যবহৃত হয়। অর্থাৎ, যদি আপনি কোনো প্যাটার্ন দিয়ে একটি লাইনের শুরুতে কিছু খুঁজে চান, তবে^ব্যবহার করা হয়।$(Dollar Sign): এটি লাইন শেষে প্যাটার্ন মেলানোর জন্য ব্যবহৃত হয়। অর্থাৎ, আপনি যদি কোনো প্যাটার্ন দিয়ে একটি লাইনের শেষের কিছু খুঁজতে চান, তবে$ব্যবহার করা হয়।
^ (Caret) - Line Start Matching
^ চিহ্নটি লাইনটির শুরুতে থাকা প্যাটার্ন মেলানোর জন্য ব্যবহৃত হয়। এটি আপনাকে টেক্সট ফাইলে বা স্ট্রিমে লাইনের প্রথমে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে সাহায্য করে।
উদাহরণ:
লাইন শুরুতে নির্দিষ্ট প্যাটার্ন খুঁজে বের করা:
ধরুন আপনি সেই সমস্ত লাইন খুঁজতে চান যেগুলোর শুরুতে "Hello" শব্দটি রয়েছে।কমান্ড:
sed '/^Hello/p' file.txtএটি
file.txtফাইলের সমস্ত লাইন প্রদর্শন করবে যেখানে লাইনটি "Hello" দিয়ে শুরু হচ্ছে।লেখার প্রথমে কোনো সংখ্যা থাকা লাইন খুঁজে বের করা:
আপনি যদি সেই সমস্ত লাইন খুঁজতে চান যেগুলো সংখ্যা দিয়ে শুরু হয়:কমান্ড:
sed '/^[0-9]/p' file.txtএটি
file.txtফাইলের সমস্ত লাইন প্রদর্শন করবে যেখানে লাইনটি সংখ্যার মাধ্যমে শুরু হচ্ছে (যেমন, "123", "456" ইত্যাদি)।
$ (Dollar Sign) - Line End Matching
$ চিহ্নটি লাইনটির শেষে থাকা প্যাটার্ন মেলানোর জন্য ব্যবহৃত হয়। এটি টেক্সট ফাইলে বা স্ট্রিমে লাইনের শেষে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে সাহায্য করে।
উদাহরণ:
লাইন শেষে নির্দিষ্ট প্যাটার্ন খুঁজে বের করা:
ধরুন আপনি সেই সমস্ত লাইন খুঁজতে চান যেগুলোর শেষে "World" শব্দটি রয়েছে।কমান্ড:
sed '/World$/p' file.txtএটি
file.txtফাইলের সমস্ত লাইন প্রদর্শন করবে যেখানে লাইনটি "World" দিয়ে শেষ হচ্ছে।লাইনের শেষে কোনো বিশেষ চিহ্নের উপস্থিতি খুঁজে বের করা:
আপনি যদি সেই সমস্ত লাইন খুঁজতে চান যেগুলোর শেষে একটি পিরিয়ড (.) চিহ্ন রয়েছে:কমান্ড:
sed '/\.$/p' file.txtএটি
file.txtফাইলের সমস্ত লাইন প্রদর্শন করবে যেখানে লাইনটি পিরিয়ড দিয়ে শেষ হচ্ছে (যেমন, "Hello." অথবা "Goodbye.")।
^ এবং $ একসাথে ব্যবহার করা
^ এবং $ চিহ্ন একসাথে ব্যবহার করে আপনি সম্পূর্ণ লাইনটি মেলাতে পারেন, অর্থাৎ আপনি পুরো লাইনের শুরু থেকে শেষ পর্যন্ত একটি নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে পারেন।
উদাহরণ:
পুরো লাইন "Hello World" মেলানো:
আপনি যদি পুরো লাইনটি "Hello World" হতে চান, তাহলে এই কমান্ড ব্যবহার করতে পারেন:কমান্ড:
sed '/^Hello World$/p' file.txtএটি
file.txtফাইলের সমস্ত লাইন প্রদর্শন করবে যেখানে পুরো লাইনটি "Hello World"।লাইনের পুরো টেক্সট শুধুমাত্র একটি নির্দিষ্ট শব্দের সাথে মিলিয়ে দেখার জন্য:
যদি আপনি নিশ্চিত করতে চান যে একটি লাইন কেবলমাত্র "Apple" শব্দটি নিয়ে তৈরি হয়েছে (যতটুকু কিছু আর নেই):কমান্ড:
sed '/^Apple$/p' file.txtএটি
file.txtফাইলের সমস্ত লাইন প্রদর্শন করবে যেখানে পুরো লাইনটি শুধুমাত্র "Apple" শব্দটি নিয়ে রয়েছে।
^ এবং $ এর অন্যান্য ব্যবহার
^এবং$রেগুলার এক্সপ্রেশন ব্যবহার করা হয় যখন আপনি শুধুমাত্র লাইন শুরু বা শেষের প্যাটার্নের সাথে কাজ করতে চান। এগুলো টেক্সট বা ফাইল ম্যানিপুলেশনকে আরও নির্দিষ্ট এবং কার্যকর করে তোলে।- লিনিয়ার মেলানোর জন্য এই চিহ্নগুলি সবচেয়ে কার্যকরী, বিশেষ করে যখন আপনার কেবল লাইন শুরু বা শেষের প্যাটার্ন খুঁজতে হয়।
সারাংশ
^(Caret): এটি লাইনটির শুরুর প্যাটার্ন মেলানোর জন্য ব্যবহৃত হয়। আপনি এটি ব্যবহার করে নিশ্চিত করতে পারেন যে প্যাটার্নটি একটি লাইনের প্রথম অংশে উপস্থিত রয়েছে।$(Dollar Sign): এটি লাইনটির শেষের প্যাটার্ন মেলানোর জন্য ব্যবহৃত হয়। এটি নিশ্চিত করতে সাহায্য করে যে প্যাটার্নটি একটি লাইনের শেষের অংশে রয়েছে।
এই দুটি অঙ্গরোধ আপনাকে লাইনটির নির্দিষ্ট অংশে প্যাটার্ন খুঁজে বের করতে সক্ষম করে, যা টেক্সট ফাইল এবং স্ট্রিমে টেক্সট ম্যানিপুলেশন সহজ এবং নির্দিষ্ট করে তোলে।
Read more