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 الكامل بالعربي.