Menu
CoddyTech

استخدام الـ Pipe مع Grep

جزء من قسم الأساسيات في رحلة Terminal على Coddy. الدرس 46 من 82.

يصبح الأمر grep قويًا على نحو خاص عند دمجه مع الأنابيب. بدلًا من البحث داخل ملف، يمكنك تصفية مخرجات أي أمر للعثور على ما تحتاج إليه بالضبط.

تخيّل أنك تريد العثور على ملف محدد في قائمة ملفات دليل:

ls -l | grep "report"

يعرض هذا جميع الملفات بالتفصيل، ثم يرشّحها لإظهار الأسطر التي تحتوي على "report" فقط. ستحصل على نتائج محددة من دون الحاجة إلى فحص كل شيء يدويًا.

يعمل تمرير المخرجات إلى grep مع أي أمر يُنتج مخرجات نصية. للعثور على العمليات قيد التشغيل المرتبطة ببرنامج محدد:

ps aux | grep "python"

يمكنك أيضًا استخدام grep مع أوامر أخرى تعلمتها. لعدّ عدد الأسطر التي تحتوي على كلمة محددة:

cat logfile.txt | grep "error" | wc -l

يقرأ هذا الملف، ويصفّي الأسطر التي تحتوي على "error"، ثم يحسبها. تعمل خيارات grep التي تعلّمتها سابقًا بالطريقة نفسها في الأنابيب: استخدم -i للمطابقة دون تمييز حالة الأحرف، أو -v لاستبعاد التطابقات.

challenge icon

التحدي

سهل

يحتوي الملف access.log على سجلات وصول خادم الويب. استخدم أنبوبًا لتصفية الطلبات وعدّها، لمعرفة عدد الطلبات التي نتج عنها رمز حالة الخطأ 500.

نفّذ أمرًا واحدًا يقوم بما يلي:

  • يستخدم cat لقراءة access.log
  • يوصل الناتج إلى grep لتصفية الأسطر التي تحتوي على 500
  • يوصل الناتج إلى wc -l لعدّ الأسطر المطابقة

تلميح: اربط الأوامر الثلاثة معًا باستخدام الرمز |. يصفّي الأمر grep الناتج، ويعدّ wc -l الأسطر المتبقية.

جرّب بنفسك

الطرفية
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: Playground لـ Terminal