নিয়মিত প্রকাশগুলি বিভিন্ন স্বাদে আসে। আপনি যা দেখাচ্ছে তা পার্লের মতো নিয়মিত এক্সপ্রেশন (পিসিআরই, "পার্ল সামঞ্জস্যপূর্ণ নিয়মিত এক্সপ্রেশন")।
grep
POSIX নিয়মিত প্রকাশ করে। এগুলি হ'ল বেসিক নিয়মিত এক্সপ্রেশন (বিআরই) এবং বর্ধিত নিয়মিত এক্সপ্রেশন (ইআরই, বিকল্পের grep
সাথে ব্যবহার করা হয় -E
)। জন্য ম্যানুয়াল দেখুন re_format
বা regex
বা যাই হোক না কেন অনুরূপ ম্যানুয়াল আপনারgrep
ম্যানুয়াল আপনার সিস্টেম, অথবা POSIX মান গ্রন্থে যে আমি শুধু লিঙ্ক উপর বোঝায়।
আপনি যদি জিএনইউ ব্যবহার করেন grep
, আপনি যদি grep
জিএনইউ- grep
স্পেসিফিকের সাথে ব্যবহার করেন তবে পার্লের মতো নিয়মিত এক্সপ্রেশন ব্যবহার করতে সক্ষম হবেন-P
বিকল্পটি ।
এছাড়াও নোট করুন যে ডিফল্টরূপে লাইনগুলিgrep
দেয়, লাইনগুলি থেকে সাবস্ট্রিংগুলি নয়। আবার, জিএনইউ grep
(এবং কিছু অন্যান্য grep
বাস্তবায়ন) এর সাহায্যে আপনি -o
প্রতিটি লাইন থেকে প্রদত্ত এক্সপ্রেশনটির সাথে মেলে এমন বিট (গুলি) পেতে বিকল্পটি ব্যবহার করতে পারেন ।
মনে রাখবেন যে উভয়ই -P
এবং -o
এর POSIX স্পেসিফিকেশনgrep
অ-মানক এক্সটেনশান ।
আপনি যদি জিএনইউ ব্যবহার না করে থাকেন grep
তবে তার sed
পরিবর্তে আপনি স্ট্রিং prefix
এবং লাইনের শেষের মধ্যে কিছুটা পেতে পারেন :
sed -n 's/.*prefix\(.*\)/\1/p' file
এটি যা করে কেবলমাত্র সেই লাইনগুলি মুদ্রণ করা sed
যা প্রদত্ত প্রতিস্থাপন প্রয়োগ করতে পরিচালিত করে। প্রতিস্থাপনের সাথে মেলে পুরো লাইনটি প্রতিস্থাপন করবে (যা একটি বিআরই), স্ট্রিংয়ের পরে ঘটে যাওয়া অংশটির সাথে prefix
।
মনে রাখবেন যে যদি prefix
কোনও লাইনে একাধিক উদাহরণ থাকে তবে sed
তারতম্যটি শেষের পরে স্ট্রিংটি ফিরিয়ে আনবে , অন্যদিকে GNU grep
প্রকরণটি প্রথমটির পরে স্ট্রিংটি ফিরে আসবে (এর মধ্যে অন্যান্য উদাহরণগুলি অন্তর্ভুক্ত থাকবে)prefix
)।
sed
সমাধান সব ইউনিক্স-সদৃশ সিস্টেম পোর্টেবল হবে।