استخدام الـ 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