مكتبة الأوامر / grep
grep
البحث في النص عن الأسطر المطابقة لنمط
يطبع أسطر الملف (أو المدخلات الموصولة) التي تطابق نمطاً. هو حصان عمل المحلل مع السجلات: رشّح أولاً ثم عُدّ أو رتّب أو حقّق. ضع الأنماط التي فيها مسافات أو رموز خاصة بين علامات اقتباس وإلا قسّمها الشِّل إلى وسائط منفصلة.
تدرّب على grepالاستخدام
الخيارات والأعلام
patternالنص أو التعبير النمطي المراد البحث عنه
fileالملف أو المجلد المراد البحث فيه (احذفه لقراءة المدخلات الموصولة)
-iتجاهل حالة الأحرف
-vعكس: إظهار الأسطر التي لا تطابق
-nإظهار أرقام الأسطر
-cطباعة عدد الأسطر المطابقة فقط
-r, -Rالبحث في المجلدات تكرارياً
-Eتعابير نمطية موسّعة (|، +، ?، ())
-wمطابقة كلمات كاملة فقط
-lعرض أسماء الملفات التي فيها تطابق فقط
-oطباعة الجزء المطابق فقط من كل سطر
-Fمعاملة النمط كنص ثابت لا كتعبير نمطي
-ANUMطباعة NUM أسطر بعد كل تطابق
-BNUMطباعة NUM أسطر قبل كل تطابق
-CNUMطباعة NUM أسطر من السياق حول كل تطابق
أمثلة
grep 'Failed password' /var/log/auth.logكل محاولة دخول SSH فاشلة.
grep -i error app.logتطابق 'error' و'Error' و'ERROR' جميعاً.
grep -c 'Failed password' /var/log/auth.logعدد محاولات الدخول الفاشلة فقط.
grep -rn password /var/wwwصيد كلمات المرور المكتوبة داخل الملفات مع اسم الملف ورقم السطر.
grep -v '^#' /etc/ssh/sshd_configالإعداد بدون أسطر التعليقات.
أخطاء شائعة
بدون اقتباس يمرّر الشِّل كلمة password كاسم ملف. ضع الأنماط متعددة الكلمات بين علامتي اقتباس.