استخدام الـ 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 لاستبعاد التطابقات.
التحدي
سهليحتوي الملف access.log على سجلات وصول خادم الويب. استخدم أنبوبًا لتصفية الطلبات وعدّها، لمعرفة عدد الطلبات التي نتج عنها رمز حالة الخطأ 500.
نفّذ أمرًا واحدًا يقوم بما يلي:
- يستخدم
catلقراءةaccess.log - يوصل الناتج إلى
grepلتصفية الأسطر التي تحتوي على500 - يوصل الناتج إلى
wc -lلعدّ الأسطر المطابقة
تلميح: اربط الأوامر الثلاثة معًا باستخدام الرمز
|. يصفّي الأمر grep الناتج، ويعدّwc -lالأسطر المتبقية.
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2التنقل
عرض مسار المجلد الحاليعرض الملفاتتغيير المجلدالمسارات المطلقة مقابل المسارات النسبيةمجلد المنزل ومجلد الجذرخلاصة - حدد مسارك8إعادة التوجيه
المخرجات القياسيةالكتابة فوق ملفالإضافة إلى ملفالمدخلات القياسيةالخطأ القياسيمراجعة - بناء سجل الأحداث11الأذونات
فهم الأذوناتقراءة الأذوناتChmod باستخدام الأرقامChmod باستخدام الرموزملكية الملفاتملخص - إحكام الحماية14مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدرتدرّب بنفسك: Playground لـ Terminal