grep
أمر هو أداة قوية للغاية للبحث عن النص داخل الملفات في أنظمة Linux وUnix. يتم استخدامه على نطاق واسع عند البحث عن أسطر تتطابق مع نمط معين لاستخراج البيانات أو تحليلها. في هذه المقالة، سوف نستعرض الاستخدام الأساسي لأمر grep
، بالإضافة إلى مجموعة متنوعة من الخيارات وأساليب البحث المتقدمة باستخدام التعبيرات المنتظمة.
يوفر Apidog جميع الأدوات اللازمة لدورة حياة API كاملة لكل المطورين. بالإضافة إلى ذلك، يمكن للمطورين الاستمتاع بواجهة مستخدم بسيطة وسهلة الاستخدام.
لمعرفة المزيد عن ميزات Apidog، انقر على الزر أدناه.
أساسيات أمر grep
grep
هو اختصار لـ (Global Regular Expression Print) ويستخدم للبحث عن أسطر تتوافق مع نمط معين من المدخلات القياسية أو الملفات. سنعرض أدناه الاستخدامات الأساسية.
البنية الأساسية لأمر grep
البنية الأساسية لأمر grep
هي كما يلي:
grep [خيارات] نمط اسم الملف
- خيارات: خيارات مخصصة لتعديل طريقة البحث (ستناقش لاحقًا)
- نمط: السلسلة النصية أو التعبير المنتظم المراد البحث عنه
- اسم الملف: اسم الملف المستهدف في البحث
الاستخدام الأساسي
على سبيل المثال، إذا كنت ترغب في البحث عن كلمة "Linux" في ملف يسمى test.txt
، يمكنك استخدام الأمر التالي:
grep "Linux" test.txt
سوف يعرض هذا جميع الأسطر التي تحتوي على سلسلة "Linux" داخل الملف test.txt
.
البحث داخل المجلد
للبحث في جميع الملفات الموجودة داخل مجلد معين، يمكنك استخدام الخيار -r
:
grep -r "Linux" /path/to/directory
بهذا يمكنك البحث في جميع الملفات في المجلد المحدد.
تصفية نتائج البحث باستخدام الأنابيب
يمكنك استخدام الأنابيب (|
) لتصفية ناتج أوامر أخرى عبر grep
. على سبيل المثال، إذا كنت ترغب في عرض قائمة العمليات باستخدام الأمر ps
، ثم عرض العمليات المتعلقة بـ "nginx"، يمكنك استخدام التالي:
ps aux | grep "nginx"
بهذا ستظهر فقط العمليات المتعلقة بـ nginx
.
خيارات grep
يمتلك grep
مجموعة متنوعة من الخيارات لتخصيص البحث بشكل أكبر. فيما يلي بعض الخيارات الأكثر شيوعًا.
خيارات أساسية
-i (--ignore-case)
الخيار -i
يقوم بالبحث بدون التمييز بين الأحرف الكبيرة والصغيرة.
grep -i "linux" test.txt
هذا الأمر سوف يبحث في test.txt
عن "Linux" أو "linux" متجاهلًا حالة الأحرف.
-v (--invert-match)
الخيار -v
يقوم بعرض الأسطر التي لا تتطابق مع النمط.
grep -v "Linux" test.txt
هذا الأمر يعرض الأسطر في test.txt
التي لا تحتوي على "Linux".
-o (--only-matching)
باستخدام الخيار -o
، يمكنك عرض الجزء المطابق فقط.
grep -o "Linux" test.txt
هذا الأمر سيعرض الأجزاء المتطابقة من "Linux" فقط في test.txt
.
-n (--line-number)
الخيار -n
يعرض أرقام الأسطر المطابقة.
grep -n "Linux" test.txt
هذا الأمر يعرض الأسطر المطابقة في test.txt
مع أرقام تلك الأسطر.
خيارات متقدمة
-C (--context)
الخيار -C
يعرض عددًا محددًا من الأسطر قبل وبعد السطر المطابق.
grep -C 2 "Linux" test.txt
هذا الأمر يعرض السطر الذي يحتوي على "Linux" وآخرين قبله وبعده.
-A (--after-context)
الخيار -A
يقوم بعرض الأسطر التي تلي السطر المطابق.
grep -A 2 "Linux" test.txt
هذا الأمر يعرض السطر الذي يحتوي على "Linux" وآخرين بعده.
-B (--before-context)
الخيار -B
يقوم بعرض الأسطر التي تسبق السطر المطابق.
grep -B 2 "Linux" test.txt
هذا الأمر يعرض السطر الذي يحتوي على "Linux" وآخرين قبله.
-r (--recursive)
الخيار -r
يقوم بالبحث بشكل متكرر داخل الملفات في المجلد المحدد.
grep -r "Linux" /path/to/directory
هذا الأمر يبحث عن "Linux" في جميع الملفات داخل المجلد المحدد.
خيارات أخرى مفيدة
--help
باستخدام الخيار --help
، يمكنك عرض جميع خيارات grep
ووصفها. أكتب في سطر الأوامر كما يلي:
grep --help
اختيار الأنماط وتفسيرها:
-E، --extended-regexp النمط هو تعبير منتظم موسع
-F، --fixed-strings النمط هو مجموعة من السلاسل مفصولة بسطر جديد
-G، --basic-regexp النمط هو تعبير منتظم بسيط (الافتراضي)
-P، --perl-regexp النمط هو تعبير منتظم بلغة بيرل
-e، --regexp=النمط استخدام النمط للمطابقة
-f، --file=FILE الحصول على النمط من الملف
# جزء محذوف
سيظهر لك هذا كيفية استخدام أمر grep
وخياراته بشكل شامل.
-e (--regexp=)
يستخدم الخيار -e
لتحديد أنماط البحث المتعددة. باستخدام هذا، يمكنك البحث عن عدة أنماط في أمر واحد.
# البحث عن السلاسل التي تحتوي على "Linux" أو "Ubuntu"
grep -e "Linux" -e "Ubuntu" test.txt
هذا الأمر يعرض الأسطر التي تحتوي على "Linux" أو "Ubuntu" في الملف test.txt
.
-h (--no-filename)
الخيار -h
يمنع عرض أسماء الملفات في نتائج البحث. يستخدم عندما لا ترغب في عرض أسماء الملفات عند البحث في عدة ملفات.
grep -h "Linux" *.txt
هذا الأمر يبحث عن "Linux" في ملفات *.txt
ويعرض الأسطر التي تطابق دون أسماء الملفات.
3. البحث باستخدام التعبيرات المنتظمة
يدعم أمر grep
التعبيرات المنتظمة، مما يسمح لك بأداء عمليات بحث فعالة باستخدام أنماط معقدة.
3.1 أساسيات التعبيرات المنتظمة
التعبيرات المنتظمة هي طريقة لوصف أنماط مختلفة من السلاسل باستخدام تعبير واحد. إنها مفيدة عند البحث عن أنماط معقدة أو عند الرغبة في البحث عن أنماط متعددة تتوافق مع شروط معينة في وقت واحد. فيما يلي بعض التعبيرات الشائعة.
التعبير المنتظم | الوصف |
---|---|
[a-z] | أي حرف واحد ضمن النطاق (هنا من a إلى z) |
[^あ-お ] | أي حرف واحد لا يقع ضمن النطاق (هنا بين "あ" و "お") |
\ | تعامل مع التعبير المنتظم التالي كسلسلة نصية |
^ | الحرف التالي يوجد في البداية |
$ | الحرف السابق يوجد في النهاية |
باستخدام التعبيرات المنتظمة، يمكنك البحث عن سلاسل معينة بشكل مرن. على سبيل المثال، التعبير التالي يبحث عن الأسطر التي تحتوي على "Linux" أو "Ubuntu":
grep -E "Linux|Ubuntu" test.txt
3.2 البحث باستخدام عدة تعبيرات منتظمة
يمكنك أيضًا دمج عدة تعبيرات منتظمة في بحثك. على سبيل المثال، باستخدام ^
(بداية السطر) أو $
(نهاية السطر)، يمكنك البحث عن سلاسل تتطابق في بداية أو نهاية السطر:
grep -E "^Linux" test.txt
هذا الأمر يبحث عن الأسطر التي تبدأ بـ "Linux" في test.txt
.
اليوم، دعونا نقوم بتثبيت Apidog على Linux!
Apidog متاح أيضًا لمستخدمي Linux! ولكن قد تتساءل "لماذا يجب عليك استخدام Apidog؟"
Apidog يبسط تطوير API، بحيث يمكن لأي شخص مهما كان مستوى مهاراته استخدام الأدوات بسهولة. مع واجهة مستخدم بسيطة وسهلة الاستخدام، يمكن للمطورين التكيف بسرعة مع بيئة تطوير جديدة.
استيراد جميع APIs إلى Apidog وإصلاحها
من خلال استيراد APIs إلى Apidog على أجهزة Linux، يمكنك اتخاذ الخطوة الأولى نحو تحسين APIs! يدعم Apidog أنواع ملفات API المختلفة مثل OpenAPI (أو Swagger)، وPostman، وInsomnia.
أولاً، افتح قسم إعداد المشروع وابحث عن زر استيراد البيانات
الموجود تحت "إدارة البيانات". إذا لم تعثر على نوع الملف الذي تريد استيراده، فلا تقلق! يمكنك ببساطة سحب وإفلات الملف إلى أسفل الشاشة.
إضافة نصوص اختبار بسهولة إلى Apidog
بعد استيراد API أو إنشاء مشروع جديد في Apidog، يمكنك إضافة نصوص اختبار.
ابحث عن عنوان معالج مسبق
في قسم تحرير API. يجب أن يكون هناك شريط يحمل الوسم `قطع نص`. هنا يمكنك تنفيذ نصوص مخصصة لطلبات API. إذا لم تكن متأكدًا مما يجب عليك كتابته، يمكنك أيضًا اختيار خيار نصوص الكود المتاحة على الجانب الأيمن من مساحة الكود.
4. الخاتمة
يعتبر أمر grep
أداة قوية للغاية للبحث عن النص في أنظمة Linux وأنظمة Unix بشكل فعال. من خلال إتقان الاستخدامات الأساسية بالإضافة إلى الخيارات المتقدمة وأنماط التعبير، ستزداد كفاءة عملك اليومي بشكل كبير. جرب الأوامر فعلًا ووسع معرفتك بشكل أعمق.