এর সাথে কিছুই করার নেই grep
- এটি কারণ হ'ল বার্তাগুলি স্ট্যান্ডার্ড ত্রুটির প্রবাহে থাকা পাইপটি |
স্ট্যান্ডার্ড আউটপুট স্ট্রিমটিকে পুনঃনির্দেশ করে । আপনি ফলাফলের আপনি ব্যবহার স্ট্রিম মিশ্রন দ্বারা চান অর্জন করতে পারে (প্রবাহ যার ফাইল বর্ণনাকারী পুনর্নির্দেশ প্রবাহ যার ফাইল বর্ণনাকারী হয় তাই) যে ভাল হিসাবে হিসাবে grep কমান্ড প্রয়োগ ইনপুট জন্য বাঁশি বাজালাম পরারstdout
Permission denied
stderr
2>&1
2
1
stderr
stdout
find / -name libGL.so.1 2>&1 | grep -v 'denied'
তবে এটিকে stderr
পুনর্নির্দেশের মাধ্যমে কেবল পুরোপুরি ফেলে দেওয়া আরও স্বাভাবিক হবে/dev/null
find / -name libGL.so.1 2>/dev/null
2> & 1 | এর পরিবর্তে | এবং ব্যবহার করে
আপনি যদি ব্যাশ ম্যান পৃষ্ঠাটি একবার দেখে থাকেন তবে আপনি সম্ভবত এই ব্লার্বটি লক্ষ্য করবেন:
যদি |&
ব্যবহার করা হয় তবে কমান্ডের স্ট্যান্ডার্ড ত্রুটি পাইপটির মাধ্যমে কমান্ড 2 এর স্ট্যান্ডার্ড ইনপুটটির সাথে সংযুক্ত থাকে; এটির জন্য সাধারণভাবে সংক্ষেপে হয় 2>&1 |
।
আপনি STDERR এবং STDOUT এ যোগ দিতে চাইলে আপনি এই নির্মাণটিও ব্যবহার করতে পারেন:
find / -name libGL.so.1 |& grep -v 'denied'
/foo/bar/denied/libGL.so.1
, মিশ্রনstdout
এবংstderr
তারপর ফলাফলের লুকাতে হবে ফিল্টারিং