حرف G

أمر البحث في النصوص (grep)

grep

آخر تحديث: 2026-10-09
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

تخيل أن لديك كتاباً ضخماً يحتوي على مئات الصفحات، وأنت تبحث عن كلمة معينة داخل هذا الكتاب. بدلاً من قراءة كل صفحة سطراً بسطر، تطلب من مساعد ذكي أن يقرأ الكتاب كاملاً في جزء من الثانية، ويستخرج لك فقط السطور التي تحتوي على تلك الكلمة بدقة. هذا المساعد في نظام لينكس (Linux) هو أمر البحث (grep). يعد هذا الأمر من أشهر أدوات سطر الأوامر (Command Line)، وتكمن وظيفته الأساسية في فحص النصوص والملفات (Files) وتصفية النتائج بسرعة فائقة، ليعرض لك على الشاشة الأسطر المطابقة لكلمتك دون الحاجة لفتح الملف وتصفحه يدوياً.

الشرح التقني المتقدم

يعد أمر البحث (grep) أحد أهم أعمدة سطر الأوامر (Command Line) في أنظمة يونكس ولينكس، ويعود أصله التاريخي إلى محرر النصوص ed حيث يرمز اختصاره إلى البحث الشامل وطباعة التعبير النمطي (Global Regular Expression Print). يعمل الأمر عبر معالجة تدفق النصوص (Text Stream) سطراً بسطر، ومقارنة كل سطر بالنمط المطلوب وتمرير المطابقات فوراً إلى المخرج القياسي (Standard Output).

آلية العمل ومحركات معالجة الأنماط

يعتمد الأمر في جوهره على خوارزميات مطابقة الأنماط (Pattern Matching) السريعة لتحليل وتصفية كميات ضخمة من البيانات النصية بأقل استهلاك لموارد المعالج والذاكرة:

محرك التعابير النمطية (Regex Engine): يتعامل مع النصوص عبر قواعد محددة تبدأ بالتعابير الأساسية (Basic Regular Expressions) وتمتد إلى التعابير الموسعة (Extended Regular Expressions) التي تتيح بناء شروط مطابقة معقدة واستخراج البيانات بدقة متناهية.

الاستخدام العملي وخيارات التصفية المتقدمة

يوفر الأمر خيارات مرنة تزيد من دقة وكفاءة البحث داخل الملفات الفردية أو عبر شجرة المجلدات بالكامل:

أمر البحث المتكرر مع تجاهل حالة الأحرف وإظهار أرقام الأسطر:

grep -rni "error" /var/log/

توضيح الخيارات البرمجية الأكثر استخداماً في إدارة النظام:

- الخيار -i: يتجاهل حالة الأحرف (Case Insensitive) لمطابقة النصوص سواء كانت بحروف كبيرة أو صغيرة.

- الخيار -r أو -R: ينفذ بحثاً تكرارياً (Recursive Search) يمر عبر جميع المجلدات والملفات الفرعية داخل المسار (Path).

- الخيار -v: يعكس نتيجة المطابقة (Invert Match) ليعرض الأسطر التي لا تحتوي على النمط المحدد فقط.

- الخيار -c: يقوم بعدّ الأسطر المطابقة وطباعة الرقم الإجمالي بدلاً من سرد محتوى الأسطر نفسها.

- الخيار -E: يفعل دعم التعابير النمطية الموسعة (Extended Regex) لمعالجة الرموز المتقدمة دون الحاجة لتهريبها.

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

تكمن قوة الأمر الاستثنائية عند دمجه مع أنابيب نقل البيانات (Pipes) عبر الرمز | لمعالجة مخرجات الأوامر الحية وتصفيتها فوراً، مما يجعله حجر الزاوية في تحليل السجلات (Log Analysis) والتشخيص السريع للأخطاء البرمجية وإدارة خوادم الإنتاج.

المصادر المعتمدة :