شرح أداة grep

صالح صبري
2021-05-08T22:07:51+04:00
تطبيقات و برامج
صالح صبري7 مايو 202144 مشاهدةآخر تحديث : منذ شهرين

أمر (grep)، هو أحد الأدوات المفيدة في أنظمة لينكس، سنتعرّف على شرح أهم أوامر أداة grep مع إعطاء أمثلة توضيحية.

ما هي أداة grep؟

التسمية

جاءت التسمية لأداة grep من العبارة (golbally regular expression and print)، أي بمعني البحث باستعمال التعبير المنتظم، ثم طباعة الخطوط المطابقة لها.


اقرأ أيضًا:مسامية الشعر والتعرف عليها وأنواعها


التأسيس

تم انشاء امر grep لأول مرة في عام 1974، تم إصداره لكي يتوافق مع ليونكس، ثم سرعان ما تم عمل إصدارات تتوافق مع الأنظمة الأخرى الشبيهة بيونكس وكذلك التوزيعات المختلفة حتى آخر إصدار وهو 3.3.

أحدث هذا الأمر نقلةً نوعيةً في عالم البرمجيات، حيث أن هذا الامر يسهّل عملية البحث في الملفات الرقمية، مما جعل البحث في الملفات الرقمية أفضل بكثير من البحث في المستندات الورقية.

تمت برمجة هذا الأمر من قبل كين تومسن بطلب من “ماكماهون”، بغرض البحث في أوراق فدرالية، فقام تومسون ببرمجة الاداة grep بين عشية وضحاها، أي أنه أتى البرنامج في اليوم التالي بعد الطلب!


شرح استخدام أداة grep

كما عرفنا من قبل أن وظيفة أمر grep هو البحث في الملفات النصية عن كلمة أو جملة بحد ذاتها، فعلى سبيل المثال أن لدينا قائمة بالنطاقات الفرعية تم استخراجها من اداة معيّنة وفيها ألف نطاق فرعي، فلو أردنا التأكد من نطاق فبإمكاننا فتحه والبحث عنه يدويًا، وهذا قد يستغرق من 10 الى 30 دقيقة بينما مع اداة grep لن يستغرق الأمر حتى دقيقة واحدة.


اقرأ أيضًا:كيف تحترف لينكس


تثبيت أداة grep

يمكن تثبيت الأداة بسهولة من خلال سطر الأوامر، لأن هناك حزمة تثبيت افتراضية معرّفة في أكثر التوزيعات، فقط تطبع بالأمر التالي:

apt-get install grep

هذه الحزمة مثبته بشكل افتراضي في توزيعة كالي لينكس.

تثبيت أمر grep على كالي لينكس
تثبيت أمر grep على كالي لينكس

أيضًا يمكن تثبيت أمر grep على تيرمكس بنفس الطريقة بالضبط، لكن مع هذا يمكنك تحميلها كمشروع مفتوح المصدر من موقع جنو من هنا.


اقرأ أيضًا:ما هو نظام لينكس ؟


شرح سطر المساعدة لأداة grep

توجد الكثير من الخيارات في أمر grep يمكننا عرضها مباشرًا من خلال أمر المساعدة، وهو –h كما توضحه الصورة التالية:

شرح أوامر grep
أمر المساعدة

بعد ذلك ستظهر لك كل الأوامر الموجودة في الأداة، يمكن أن نقسمها إلى 4 أقسام وهي:

خيارات الأنماط

يقصد بالنمط هنا بالمدخلات التي يدخلها المستخدم والتي سيتم مقارنتها في حال كانت هناك أنماط مشابهة لها، على سبيل المثال ادخال نص، فهذا النص حينها يسمى نمطًا.

F , –fixed-strings-

هذا الأمر يعني تحديد النمط على أنه نص (String)

f , –file=FILE-

أيضًا هذا الأمر يعني استنباط الأنماط من ملف محدد

I , –ignore-case-

هذا يعني تجاهل الحالات المميزة، (أي التي لا تتطابق تمامًا)

w , –word-regexp-

أي أن يقوم بعمل مطابقة على الكلمات المفردة فقط

x  , –line-regexp-

أي ان يقوم بعملية المطابقة مع الأسطر كاملة فقط

z , –null-data-

بمعنى أن يقوم باستبعاد الأسطر التي لا تحمل أي قيمة.


اقرأ أيضًا:متجر Google Play – الدليل الشامل للمبتدئين


أوامر المخرجات لأداة grep

m , –max-count=NUM-

أي التوقف بعد الوصول إلى عدد محدد من الأسطر

b , –byte-offset-

أيضا هذا يعني اطبع عدد البتات (الحجم) لكل سطر

n  , –line-number-

طباعة رقم السطر مع مخرجات العملية

line-buffered–

أي عمل مخرج جديد لكل سطر على حدى

o , –only-matching-

بمعنى قم لإظهار الأجزاء من السطور التي لا تحتوي على النمط المدخل

c , –count-

أي قم بطباعة عدد الأسطر التي يوجد فيها النمط


اقرأ أيضًا:تثبيت نظام كالي لينكس من خلال فلاشة في 2020


أوامر النصوص لأداة grep

B , –before-context=NUM-

أي اطبع الأسطر الأولى وعددها (NUM)

A , –after-context=NUM-

بمعنى اطبع الأسطر الأخيرة وعددها (NUM)، المدخلة بواسطة المستخدم

أوامر أخرى

v , –invert-match-

بمعنى إظهار الأسطر الغير متوافقة مع النمط

V-

أي عرض إصدار البرنامج grep ثم الخروج مباشرةً.


اقرأ أيضًا:أفضل 8 توزيعات لينكس للمخترقين الأخلاقيين


أمثلة على أداة grep

بعد تثبيت الأداة نقوم باستخدام الأداة مباشرةً، فمثلًا سنقوم بعمل بحث بسيط في ملف اسمه linux على برنامج التيرمكس في الأندرويد.

عرض محتويات الملف باستخدام cat
عرض محتويات الملف باستخدام cat

سنبحث في ذلك الملف عن كلمة Android مثل الصورة التالية:

grep Android linux.txt

البحث عن كلمة بواسطة الأداة
البحث عن كلمة بواسطة الأداة

كما هو موضح في الصورة فإنه لم يظهر لنا شيء على الإطلاق، هذا يعنى ان هذه الكلمة غير موجودة في الملف.

لكن إذا كتبنا example ستظهر لما 7 أسطر كنتائج بدون أي تفاصيل أخرى.

لكن لم لا نستخدم الخيارات الأخرى؟

مثال أخر

grep example linux.txt –v –n

مثال توضيحي على كالي لينكس
شرح استخدام أداة grep

كما ترى فقد أظهر لنا عدد الأسطر الغير متضمنه بكلمة example وترتيبها.

مثل أخر في نظام كالي لينكس

سنبحث في ملف تم تصديره من أداة sublist3r لاستخراج النطاقات الفرعية باسم etoro.

بعد ذلك سنقوم بالبحث في الملف عن api للعثور على نطاقات التطبيق.

grep api etoro.txt -n

مثال على استخدام الأداة في البحث
مثال على استخدام الأداة في البحث

بعدها أظهر لنا 14 سطر يحتوي كلمة “api” مع رقم السطر.


بعد أن عرفت الكثير من الأشياء عن هذه الأداة، ينقصك فقط التدرب عليها والاستمتاع بها.

موقع السوق

اترك تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


شروط التعليق :

عدم الإساءة للكاتب أو للأشخاص أو للمقدسات أو مهاجمة الأديان أو الذات الالهية. والابتعاد عن التحريض الطائفي والعنصري والشتائم.