aosus.org
اداه grep

ابحث عن النصوص واستخرجها باستخدام grep

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-first-ans


من خلال المثال السابق يمكننا ان نستنتج ان الأداة تضع حاله الاحرف في الحسبان

تثبيت الأداة على نظام التشغيل

أداه 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-ans1

  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” ==> هي جمله وبها مسافة ولذلك يجب علينا استخدام علامتين التنصيص ( “” ) أو علامة التنصيص الواحدة (‘’)

grep-ans2

شرح بعض الخيارات المفيدة للاداه

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

grep-ans3

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
grep-ans4

اذن السطر رقم 7 والسطر رقم 9 هما الاسطر التي يتواجد بها النمط النصي الذي قمنا بالبحث عنه

3. خيار w- يستخدم للبحث فقط عما يطابق الكلمة \ الكلمات

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

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 يحتوي على العديد من المستندات النصية ونريد التالي

  1. نريد ان نبحث بداخل هذا المجلد عن كلمه معينه بيعنها فقط وهي كلمه the
  2. نريد من الأداة ان تهمل حاله الاحرف
  3. نريد من الأداة ان تظهر رقم الاسطر للكلمة المراد البحث عنها

 الإجابة

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

[ma@linux-distor ~]$ grep --help

المصادر

هذا الموضوع فائز بجائزة أسس للكتابة

هذا الموضوع أحد المواضيع الفائزة بجائزة أسس للكتابة، الجائزة الاولى في العالم العربي للتحفيز الكتابة عن البرمجيات الحرة.
تفاصيل أكثر عن الجائزة

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

mahmoud
كاتب فائز بجائزة أسس للكتابة |  + مقالات
Aosus