كيفية استخدام grep
لعرض الأسطر المحيطة بكل تطابق؟
عندما يتعلق الأمر بالبحث في الملفات في نظام تشغيل يشبه Linux أو Unix، فإن grep
هو أداة سطر أوامر لا تقدر بثمن. ومع ذلك، في بعض الأحيان تحتاج إلى أكثر من مجرد الأسطر المطابقة؛ تريد رؤية السياق المحيط بتلك المطابقات. ستوجهك هذه التدوينة حول كيفية عرض الأسطر السابقة واللاحقة المحيطة بكل سطر متطابق باستخدام grep
.
المشكلة
لديك ملف وتريد البحث عن مصطلحات أو أنماط محددة. العثور على تلك المطابقات ليس كافيًا - تريد أيضًا عرض الأسطر التي تظهر قبل وبعد الأسطر المطابقة. على سبيل المثال، إذا كنت تقوم بمراقبة ملف السجل لبعض رسائل الخطأ، فإن السياق حول تلك الأخطاء يمكن أن يكون بنفس الأهمية.
الحل
استخدام خيارات -B
و -A
في grep
، يمكنك استخدام العلامات -B
و -A
للتحكم في عدد الأسطر قبل وبعد كل تطابق تريد رؤيته:
-B num
: هذه الخيار يحدد عدد الأسطر المعروضة قبل السطر المتطابق.-A num
: هذه الخيار يحدد عدد الأسطر المعروضة بعد السطر المتطابق.
مثال على الأمر
لتوضيح ذلك، افترض أنك تريد العثور على حدوثات للمصطلح foo
في ملف باسم README.txt
وتريد رؤية 3 أسطر قبل و 2 سطر بعد كل تطابق. إليك كيف تقوم بتهيئة الأمر:
grep -B 3 -A 2 foo README.txt
- ماذا يفعل هذا الأمر:
- يبحث عن الكلمة الرئيسية
foo
فيREADME.txt
. - يعرض 3 أسطر قبل كل حدوث لـ
foo
. - يظهر 2 سطر بعد كل حدوث.
- يبحث عن الكلمة الرئيسية
استخدام خيار -C
إذا كنت تريد عرض نفس عدد الأسطر قبل وبعد كل تطابق، لدى grep
خيار ملائم لذلك أيضًا:
-C num
: هذه الخيار يسمح لك بتحديد كم عدد الأسطر لعرضها قبل وبعد السطر المتطابق.
مثال على الأمر
لعرض 3 أسطر سواء قبل أو بعد كل تطابق لـ foo
، استخدم الأمر التالي:
grep -C 3 foo README.txt
- ماذا يفعل هذا الأمر:
- يبحث عن
foo
فيREADME.txt
. - يعرض 3 أسطر قبل وبعد كل حدوث لـ
foo
.
- يبحث عن
الخاتمة
استخدام خيارات -B
و -A
و -C
بشكل فعال يسمح لك باستخراج سياق ذي معنى من عمليات البحث الخاصة بك. سواء كنت تقوم باستكشاف الأخطاء في السجلات أو ببساطة تحليل ملف نصي، فإن القدرة على رؤية الأسطر المحيطة بمطابقاتك تقدم رؤى قيمة.
الآن بعد أن عرفت كيفية العثور على المطابقات مع الأسطر المحيطة باستخدام grep
، جرب ذلك في بحثك عن الملف التالي!