grep هي اداه سهله الفهم متوفرة على جميع انظمه تشغيل لينكس
أداه grep هي اداه تستخدم للبحث عن البيانات النصية وايجادها بسرعه ودقه
نظره سريعة على استخدام أداه grep
في هذا المثال سنفترض أن لدينا ملف نصي باسم test_file.txt ويحتوي على النص التالي، وبعدها سنقوم بتجربة grep على هذا الملف
#bash
[ma@linux-distro ~]$ grep the test_file.txt
#output
The weather is really good today
these are my favorite days in the week
يمكنك النظر على الصورة التاليه لإيضاح ناتج عمليه البحث من خلال اداه
grep
من خلال المثال السابق يمكننا ان نستنتج ان الأداة تضع حاله الاحرف في الحسبان
تثبيت الأداة على نظام التشغيل
أداه grep تأتي بشكل افتراضي مع معظم انظمه لينكس لكن إذا لم تكن مثبته على نظامك يمكنك تثبيتها من خلال الاوامر التاليه مع الإنتباة لنظام التشغيل الخاص بك
#Debian/Ubuntu
$ sudo apt-get install grep
#RHEL/CentOS/Fedora
$ sudo yum install grep
#Arch/Manjaro
$ sudo pacman -S grep
شرح الأداة
ملاحظه: سوف نطبق شرح الأداة بالاستعانة بالمثال السابق
[ma@linux-distro ~]$ grep the test_file.txt
The weather is really good today
these are my favorite days in the week

grep
==> في المثال السابق هو اسم الأداة والذي يجب كتابته لاستخدامها
the
==> تمثل النص الذي نحاول البحث عنه باستخدام grep
test_file.txt
==> يمثل المستند النصي الذي نريد البحث في داخله
[ma@linux-distro ~]$ grep "The weather" test_file.txt # يمكننا ان نلاحظ اننا كتبنا(The) بدلا من (the)
The weather is really good today
“the weather” ==> هي جمله وبها مسافة ولذلك يجب علينا استخدام علامتين التنصيص ( “” ) أو علامة التنصيص الواحدة (‘’)

شرح بعض الخيارات المفيدة للاداه
1. خيار i-
يستخدم لجعل الأداة تهمل حاله الاحرف
من خلال الأمثلة السابقة يمكننا ملاحظه ان اداه grep
تضح حاله الاحرف في الحسبان
ولكن يمكننا استخدام خيار من خيارات الأداة لجعلها تبحث بدون الانتباه لحاله الاحرف
[ma@linux-distro ~]$ grep -i the test_file.txt # نلاحظ استخدام الخيار i قبل الكلمة او الجمله المراد البحث عنها
The weather is really good today
these are my favorite days in the week
ملاحظه: يتم كتابه الخيارات بعد اسم الأداة واضافه
-
ليكون الخيار بالشكل بهذا الشكل -i

2. خيار n-
يستخدم لجلب رقم الاسطر التي وجدت بها الكلمة \ الكلمات المرادة
من خلال الأمثلة السابقة كان من السهل علينا أدارك ان هذه الأداة تقوم بالبحث داخل الملف وتقوم بإعلامنا إذا وجدت الكلمة دون ان تخبرنا بمكانها داخل هذا الملف لذلك إذا أردنا معرفه مكان القطعة النصية المرادة يمكننا ذلك عن طريق هذا الخيار
[ma@linux-distro ~]$ grep -n the test_file.txt
7:The weather is really good today
9:these are my favorite days in the week

اذن السطر رقم 7 والسطر رقم 9 هما الاسطر التي يتواجد بها النمط النصي الذي قمنا بالبحث عنه
3. خيار w-
يستخدم للبحث فقط عما يطابق الكلمة \ الكلمات
من خلال هذا الاختيار يمكننا ان نجد نمط نصي بعينه فقط
[ma@linux-distro ~]$ grep -w the test_file.txt
these are my favorite days in the week

4. خيارr-
يستخدم للبحث بداخل الملفات
إذا استخدمنا هذا الخيار فيمكن ل grep
البحث عن النمط المراد لكن بداخل المسار الذي سوف نحدده
ملاحظه: بافتراض ان ملف test_file.txt موجود الان في المسار التالي Downloads/test-dir/test_file.txt
[ma@linux-distro ~]$ grep -r the Downloads/test-dir
Downloads/test-dir/test_file.txt:The weather is really good today
Downloads/test-dir/test_file.txt:these are my favorite days in the week

يمكنك الإجابة على هذا السؤال لتتأكد من فهمك للاداه والخيارات التي تم شرحها
بافتراض اننا الان بداخل مجلد مساره هو Downloads/test-dir
يحتوي على العديد من المستندات النصية ونريد التالي
- نريد ان نبحث بداخل هذا المجلد عن كلمه معينه بيعنها فقط وهي كلمه
the
- نريد من الأداة ان تهمل حاله الاحرف
- نريد من الأداة ان تظهر رقم الاسطر للكلمة المراد البحث عنها
الإجابة
وفي النهاية يمكنك ان تعرف المزيد عن خيارات الأداة عن طريق كتابه الامر
[ma@linux-distor ~]$ grep --help
المصادر
هذا الموضوع فائز بجائزة أسس للكتابة
هذا الموضوع أحد المواضيع الفائزة بجائزة أسس للكتابة، الجائزة الاولى في العالم العربي للتحفيز الكتابة عن البرمجيات الحرة.
تفاصيل أكثر عن الجائزة

المواضيع الفائزة لشهر يونيو 2022

