تخطَّ إلى المحتوى

grep

البحث داخل محتوى الملفّات grep

grep يبحث عن نمط نصّي (أو تعبير نمطي regex) داخل ملف أو مخرجات أمر ويطبع السطور المطابقة.

اسمه اختصار لـ "global regular expression print". يُستخدم غالبًا في نهاية أنبوب (pipe) لتصفية مخرجات أمر آخر، أو مباشرة على ملف. يدعم regex كامل مع `-E` (extended)، ويقرأ عدّة ملفّات ومجلّدات دفعة واحدة مع `-r`.

الصياغة

grep [خيارات] 'نمط' ملف

📄 مثال

grep -n 'error' app.log        # مع رقم السطر
ps aux | grep node              # تصفية مخرجات أمر آخر
grep -ri 'todo' src/            # بحث متكرر وغير حساس لحالة الأحرف
grep -v 'debug' app.log         # كل السطور التي لا تحوي النمط

أهم الخيارات

الخيارالوظيفة
-iتجاهل حالة الأحرف (case-insensitive)
-rبحث متكرر داخل مجلّد وكل مجلّداته الفرعية
-nطباعة رقم السطر مع كل مطابقة
-vعكس النتيجة: كل السطور التي لا تطابق النمط
-cعدد السطور المطابقة فقط، بدون محتواها
-Eتفعيل صيغة regex الموسّعة (extended regex)

💡 نصائح عملية

  • `grep -r` على مجلّد المشروع أسرع طريقة لمعرفة أين استُخدم متغيّر أو دالة معيّنة

⚠️ أخطاء شائعة

  • نسيان تحويط النمط بعلامتَي اقتباس فيتفسّره الصدفة (shell) بدل تمريره كنمط كامل لـ grep

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار LINUX الكامل بالعربي.