গ্রেপ ব্যবহার করে স্ট্রিংয়ে আমার ইনপুটটি খুঁজে পাওয়া যায় না


11

আমি কমা দিয়ে পৃথক একটি স্ট্রিং করেছি যেখানে আমি এই লাইনে আমার ইনপুটটি দেখতে চাই:

echo US | grep "US,CA,CH,JP"

আউটপুট ফাঁকা! সেই স্ট্রিংয়ে আমার ইনপুটটি খুঁজে পেতে কীভাবে গ্রেপ ব্যবহার করব?

উত্তর:


18

কমান্ডগুলির যুক্তিগুলি অদলবদল করুন:

echo "US,CA,CH,JP" | grep US

ভিতরে:

echo US | grep "US,CA,CH,JP"

আপনি US,CA,CH,JPইনপুট স্ট্রিংয়ের স্ট্রিং (প্যাটার্ন) সন্ধান করছেন USযা প্রত্যাশার সাথে মেলে না।


14

আপনি যদি কমাগুলি "বা" স্টেটমেন্টের মতো কাজ করার প্রত্যাশা না করেন, তবে আপনাকে কেবলমাত্র পাইপগুলিতে কমা পরিবর্তন করতে হবে এবং বর্ধিত নিয়মিত এক্সপ্রেশনগুলির -Eবিকল্পটি ব্যবহার করতে হবে :

echo US | grep -E "US|CA|CH|JP"

বা কমাগুলিকে নতুন লাইনের অক্ষরে পরিবর্তন করুন:

echo US | grep "US
CA
CH
JP"

-1

আমি ব্যবহার করব $echo US | grep -i "US|CA|JP|CH"

ইকো পরিবর্তে এটিকে একটি তালিকা বা এমন কিছু দিন, যেখানে এটি "মার্কিন যুক্তরাষ্ট্রে" সন্ধানের পরিবর্তে প্রকৃতপক্ষে যেতে পারে এবং নিদর্শনগুলি সন্ধান করতে পারে


আপনি ভুলে গেছেন -E
রিনিয়ারপোস্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.