কেন এই বিএসডি গ্রেপ ফলাফল জিএনইউ গ্রেপ থেকে আলাদা?


13

আমার কম্পিউটারটি ম্যাকোস 10.12.3 চলছে এবং আমি সিস্টেম-ইনস্টলড grepইউটিলিটি সংস্করণ 2.5.1-ফ্রিবিএসডি ব্যবহার করছি।

বিভিন্ন রেজিেক্সগুলির পরীক্ষা করার সময় এগুলি আমি আউটপুটগুলি পাই:

স্ক্রিনশট

তবে আমি যদি জিএনইউ গ্রেপ (সংস্করণ ২.২25) ব্যবহার করে এটি চালিত করি তবে আমি নিম্নলিখিতগুলি পাই:

স্ক্রিনশট

জিএনইউ এর গ্রেপ আমার কাছে সঠিক দেখাচ্ছে এবং বিএসডি ভুল, না? কেন তারা ভিন্ন? আমি বুঝতে পারছি না যখন বিজেডির গ্রেপ "ক" সাথে মিলে যাচ্ছে যখন রেজেক্স নির্দিষ্ট করে যে এটি অবশ্যই লাইনের শুরুটি অনুসরণ করবে।


2
বাগ আচরণ হিসাবে প্রথম আচরণটি নির্দ্বিধায় জানুন।
স্যাটাস কাতসুরা

1
আপনি দেখতে পাবেন যে echo 'bababa' | grep -E '^(a|b)'সমস্ত লাল। এবং আপনি একই সমস্যা হবে -o। আমার ধারণা, grepএকাধিক ম্যাচ সন্ধান করে তবে দ্বিতীয় ম্যাচ এবং তার চেয়ে বেশি ananaসময় ধরে এটি আরিগ_নটবোল পতাকাটি পাস না করে আগের বারের মতো ( আপনার ক্ষেত্রে দ্বিতীয়বারের মতো) কী মিলছে তার ডানদিকে যা রয়েছে তা রিজেক্সটকে প্রয়োগ করে। আরও দেখুনecho banana | grep -Eo '^ban|^ana$'
স্টাফেন চ্যাজেলাস

2
আমার জেএসবিতে @ জেডিবিপি grepনিজেকে grep (BSD grep) 2.5.1-FreeBSD"জিএনইউ সংস্করণগুলির সাথে সামঞ্জস্যের জন্য প্রদত্ত দীর্ঘ বিকল্পগুলির" উল্লেখ করে ম্যান পেজ হিসাবে নিজেকে চিহ্নিত করে । এছাড়াও, কোনও কপিরাইট নোটিশ বা জিপিএল (বা এফএসএফ) এর উল্লেখ নেই। জিএনইউ ব্যবহারের সাথে যদি এর ইতিহাস থাকে তবে তা বলা মুশকিল।
ইলকচাচু

আমরা এটি প্রদর্শন করছি যে এটি কীভাবে বিভ্রান্তিকর। (-: grepডেকাড মুনের উত্তরে এটি আলোচিত হয়েছে যে এতগুলি লোকেরা ভাবছেন যে সঠিক সনাক্তকরণ grep (GNU grep) 2.5.1-FreeBSD(বাগ বাগের আলোচনায় দেখা যাবে) এটির একটি এফএসএফ কপিরাইট নোটিশ রয়েছে এবং এটি অবশ্যই জিএনইউ Free grepফ্রিবিএসডি কল bsdgrepযা বলে ওপেনবিএসডি কল করেছে grepএবং বিএসডি grep, --colorফ্রিবিএসডি বৈকল্পিকের বাইরে কোনও বিকল্প নেই That এটিই grep (BSD grep) 2.5.1-FreeBSDবাগ-আলোচনার এক ব্যক্তি ফ্রিবিএসডি-র grepকাছে যাওয়ার পরামর্শ দিয়েছিল,
এটিই চিহ্নিত করে

উত্তর:


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