নিয়মিত প্রকাশগুলি বিভিন্ন স্বাদে আসে। আপনি যা দেখাচ্ছে তা পার্লের মতো নিয়মিত এক্সপ্রেশন (পিসিআরই, "পার্ল সামঞ্জস্যপূর্ণ নিয়মিত এক্সপ্রেশন")।
grepPOSIX নিয়মিত প্রকাশ করে। এগুলি হ'ল বেসিক নিয়মিত এক্সপ্রেশন (বিআরই) এবং বর্ধিত নিয়মিত এক্সপ্রেশন (ইআরই, বিকল্পের 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সমাধান সব ইউনিক্স-সদৃশ সিস্টেম পোর্টেবল হবে।