Sed (Stream Editor) এবং Regular Expressions (রেগুলার এক্সপ্রেশন) ব্যবহারে special characters অত্যন্ত গুরুত্বপূর্ণ ভূমিকা পালন করে। এগুলি আপনাকে বিভিন্ন ধরনের প্যাটার্ন এবং টেক্সট পরিবর্তন করতে সাহায্য করে। এই বিশেষ চরিত্রগুলি রেগুলার এক্সপ্রেশনকে আরো শক্তিশালী এবং নমনীয় করে তোলে।
নিচে Sed এবং Regular Expressions এ ব্যবহৃত কিছু সাধারণ বিশেষ চরিত্র (special characters) এবং তাদের ব্যবহার দেওয়া হল।
Sed এবং Regular Expressions এ ব্যবহৃত Special Characters
.(Dot)- ব্যবহার: যেকোনো একক চরিত্রের সাথে ম্যাচ করে।
- উদাহরণ:
c.tপ্যাটার্নটি "cat", "cot", "cut" ইত্যাদি শব্দগুলির সাথে মিলবে, কারণ প্রতিটি শব্দের মধ্যে "c" এবং "t" থাকবে, এবং.কোনো একক চরিত্রের সাথে মিলবে। কমান্ড:
sed -n '/c.t/p' file.txt
*(Asterisk)- ব্যবহার: পূর্ববর্তী চরিত্রটি শূন্য বা তার অধিকবার ম্যাচ করে। এটি মূলত কোনো একটি চরিত্রের রিপিটেশন নির্দেশ করে।
- উদাহরণ:
ca*tপ্যাটার্নটি "ct", "cat", "caaat" ইত্যাদি শব্দগুলির সাথে মিলবে, কারণ এখানে "a" এক বা একাধিক বার থাকতে পারে। কমান্ড:
sed -n '/ca*t/p' file.txt
^(Caret)- ব্যবহার: এটি লাইনের শুরুতে প্যাটার্ন মিলানোর জন্য ব্যবহৃত হয়।
- উদাহরণ:
^catপ্যাটার্নটি শুধুমাত্র সেই লাইনগুলো খুঁজে যেগুলি "cat" দিয়ে শুরু হয়। কমান্ড:
sed -n '/^cat/p' file.txt
$(Dollar)- ব্যবহার: এটি লাইনের শেষে প্যাটার্ন মিলানোর জন্য ব্যবহৃত হয়।
- উদাহরণ:
dog$প্যাটার্নটি শুধুমাত্র সেই লাইনগুলো খুঁজে যেগুলি "dog" দিয়ে শেষ হয়। কমান্ড:
sed -n '/dog$/p' file.txt
[](Square Brackets)- ব্যবহার: এটি একটি সেটের মধ্যে থাকা যেকোনো একক চরিত্রের সাথে মিলাতে ব্যবহৃত হয়।
- উদাহরণ:
[aeiou]প্যাটার্নটি যেকোনো স্বরবর্ণের সাথে মিলবে।[0-9]প্যাটার্নটি যেকোনো ডিজিটের সাথে মিলবে। কমান্ড:
sed -n '/[aeiou]/p' file.txt # Find lines containing vowels
[^ ](Caret inside Square Brackets)- ব্যবহার: এটি একটি সেটের মধ্যে থাকা কোনো একটি নির্দিষ্ট চরিত্র বাদে বাকি সব কিছু মিলাতে ব্যবহৃত হয়।
- উদাহরণ:
[^a-z]প্যাটার্নটি সব অক্ষর বাদে ছোট হাতের অক্ষর খুঁজে বের করবে। কমান্ড:
sed -n '/[^a-z]/p' file.txt # Find lines not containing lowercase letters
()(Parentheses)- ব্যবহার: এটি একটি গ্রুপ তৈরি করতে ব্যবহৃত হয়, যা পরে ব্যাকরেফারেন্স হিসেবে ব্যবহৃত হতে পারে।
- উদাহরণ:
(dog|cat)প্যাটার্নটি "dog" অথবা "cat" এর সাথে মিলে যাবে। কমান্ড:
sed -n '/\(dog\|cat\)/p' file.txt
\(Backslash)- ব্যবহার: এটি বিশেষ চরিত্রগুলোকে সাধারণ চরিত্র হিসেবে ব্যবহৃত হতে নির্দেশ দেয়। যখন আপনি রেগুলার এক্সপ্রেশন এ কোনো বিশেষ চরিত্র ব্যবহার করতে চান, তখন এর আগে ব্যাকস্ল্যাশ (
\) ব্যবহার করতে হয়। - উদাহরণ: যদি আপনি একটি ডট (
.) চরিত্রের সাথে মিলাতে চান, তাহলে\.ব্যবহার করতে হবে। কমান্ড:
sed -n '/\./p' file.txt # Find lines containing a dot
- ব্যবহার: এটি বিশেষ চরিত্রগুলোকে সাধারণ চরিত্র হিসেবে ব্যবহৃত হতে নির্দেশ দেয়। যখন আপনি রেগুলার এক্সপ্রেশন এ কোনো বিশেষ চরিত্র ব্যবহার করতে চান, তখন এর আগে ব্যাকস্ল্যাশ (
|(Pipe)- ব্যবহার: এটি OR অপারেটর হিসেবে কাজ করে, অর্থাৎ একাধিক প্যাটার্নের মধ্যে মিল খুঁজে।
- উদাহরণ:
(cat|dog)প্যাটার্নটি "cat" অথবা "dog"-এর সাথে মিলে যাবে। কমান্ড:
sed -n '/\(cat\|dog\)/p' file.txt
+(Plus)- ব্যবহার: এটি পূর্ববর্তী চরিত্রটি একবার বা তার বেশি সংখ্যক বার ম্যাচ করবে। (এটি Extended Regular Expression এ ব্যবহৃত হয়।)
- উদাহরণ:
ca+tপ্যাটার্নটি "cat", "caat", "caaat" ইত্যাদি শব্দগুলির সাথে মিলবে। কমান্ড:
sed -n '/ca\+t/p' file.txt
?(Question Mark)- ব্যবহার: এটি পূর্ববর্তী চরিত্রটির 0 বা 1 বার ম্যাচ করবে। (এটি Extended Regular Expression এ ব্যবহৃত হয়।)
- উদাহরণ:
ca?tপ্যাটার্নটি "ct" অথবা "cat" এর সাথে মিলবে। কমান্ড:
sed -n '/ca?t/p' file.txt
{}(Curly Braces)- ব্যবহার: এটি পূর্ববর্তী চরিত্রটি নির্দিষ্ট সংখ্যক বার ম্যাচ করার জন্য ব্যবহৃত হয়। (এটি Extended Regular Expression এ ব্যবহৃত হয়।)
- উদাহরণ:
a{2,4}প্যাটার্নটি "aa", "aaa", "aaaa" এর সাথে মিলবে। কমান্ড:
sed -n '/a\{2,4\}/p' file.txt
Sed এবং Regular Expressions এর Special Characters এর সারাংশ
.: যেকোনো একক চরিত্রের সাথে মিলিয়ে থাকে।*: পূর্ববর্তী চরিত্রের শূন্য বা তার বেশি পুনরাবৃত্তি।^: লাইনের শুরুতে মিলানো প্যাটার্ন।$: লাইনের শেষে মিলানো প্যাটার্ন।[]: নির্দিষ্ট এক বা একাধিক চরিত্রের মধ্যে কোনো একটি মিলানো।[^ ]: নির্দিষ্ট চরিত্র বাদে অন্য সব কিছু মিলানো।(): গ্রুপিং, পরে ব্যাকরেফারেন্স ব্যবহার করা যায়।\: বিশেষ চরিত্রগুলিকে সাধারণ চরিত্র হিসেবে ব্যবহার করতে।|: OR অপারেটর, একাধিক প্যাটার্নের মধ্যে মিল।+,?,{}: Extended Regular Expressions (ERE) এর অংশ, যেগুলি আরও জটিল প্যাটার্ন matching করতে সহায়তা করে।
Sed এবং Regular Expressions-এ এই বিশেষ চরিত্রগুলির মাধ্যমে আপনি সহজেই টেক্সট ফাইলগুলির মধ্যে অনেক ধরনের পরিবর্তন এবং বিশ্লেষণ করতে পারবেন।
Read more