تعد طباعة تعبير عادي عالمي أو مجرد grep أحد أكثر الأوامر شيوعًا وتنوعًا في أنظمة Unix و Linux. يبحث الأمر عن ملفات إدخال مفردة أو متعددة وخطوط مطابقة مطابقة. نتيجة لذلك ، يمكنك الحصول على إخراج قياسي مع خطوط مطابقة.
إذا لم تحدد ملفًا ، فسيستخدم grep الإدخال القياسي للقراءات وسيكون على الأرجح ناتج أمر آخر. على العموم ، يتميز grep بصيغة واضحة سواء كنت تستخدمه مع أو بدون اسم الملف.
توفر لك هذه المقالة نظرة عامة سريعة على بناء الجملة grep وبعض الأوامر الأساسية التي يمكنك استخدامها مع أو بدون اسم الملف.
قبل ان تبدا
تتبع جميع أوامر grep نفس الصيغة ولكل معلمة وظيفة محددة. هنا هو خط العينة:
نوع grep
يمكنك استخدام عدد من الخيارات في grep للتحكم في إخراج الأمر ويبدأ الرقم عند الصفر. يشير النمط إلى نمط البحث الذي تريد تطبيقه. بالنسبة إلى FILE ، هذا هو المكان الذي يذهب إليه اسم الملف أو الأسماء ، لكن يمكن تعيين المعلمة على صفر.
سلسلة البحث في إخراج الأوامر
كما هو موضح ، لا تحتاج إلى استخدام ملفات إدخال محددة. يمكن استخدام إخراج أمر آخر في grep للحصول على خطوط تتوافق تمامًا مع نمط ما. يمكن استخدام هذا لتحديد العمليات النشطة على النظام. هذا هو بناء جملة أمر عينة:
$ ps -ef | grep شبكة الاتصالات العالمية البيانات
يجب أن يبدو الإخراج الذي تحصل عليه مثل هذا:
شبكة الاتصالات العالمية البيانات 18247 12675 4 16:00؟ 00:00:00 php-fpm: pool www
root 18272 17714 0 16:00 نقطة / 0 00:00:00 grep –color = تلقائي - استبعاد - dir = .bzr - استثناء - dir = CVS –exclude-dir = .git –exclude-dir = .hg –exclude- dir = .svn www-data
شبكة الاتصالات العالمية البيانات 31147 12770 0 Oct22؟ 00:05:51 إنجن إكس: عملية العامل
شبكة الاتصالات العالمية البيانات 31148 12770 0 Oct22؟ 00:00:00 nginx: عملية إدارة ذاكرة التخزين المؤقت
هناك طريقة لاستبعاد سطر الأوامر الذي يتميز بعمليات grep. لهذا ، تحتاج إلى استخدام $ ps -ef | grep www-data | القيادة grep -v grep .
كلمة البحث
يمكنك استخدام أوامر grep للبحث عن كلمات محددة في ملفات على نظامك. في الواقع ، ليست هناك حاجة لكتابة كلمة كاملة. يمكنك فقط استخدام gnu ، على سبيل المثال ، ويقوم الأمر بإخراج جميع الكلمات التي تحتوي على هذه الأحرف الثلاثة فيها. بناء جملة الأمر هو:
$ grep gnu / usr / share / words
بعد تنفيذ الأمر ، يجب أن يبدو الإخراج الخاص بك كما يلي:
البجعة
النو ثيتل افريقي
فترة خلو العرش
lgnu9d
يجنوم
زجاجة كبيرة للخمر
ماغنوسون
الطحالب
جناح الحشرة
من ناحية أخرى ، يمكنك البحث فقط عن تلك الكلمة أو سلسلة الحروف المحددة واستبعاد كل شيء آخر. لهذا ، تحتاج إلى إضافة -w أو –word - regexp إلى بناء الجملة. في هذه الحالة ، يبدو الأمر example هكذا - $ grep -w gnu / usr / share / words .
ملاحظة: لأغراض القواعد ، يكون لبعض الأوامر نقطة توقف كاملة في النهاية. لا تحتاج إلى علامة الترقيم هذه لـ grep. استبعده عند نسخ / لصق الأمر.
هل Grep Case Sensitive؟
جميع أوامر grep حساسة لحالة الأحرف بشكل افتراضي. هذا يعني أن استخدام الأحرف الصغيرة والأحرف الكبيرة يحدث فرقًا في الأمر نفسه. ومع ذلك ، يمكنك إضافة - i ( - تجاهل - حالة ) إلى سطر الأوامر والسماح للنظام بالبحث عن كل من الكلمات الكبيرة والصغيرة.
على سبيل المثال ، قد يبدو أمر الإدخال الخاص بك مثل $ grep -i Zebra / usr / share / words . يسمح الإخراج بمطابقة أي مجموعة من الأحرف الكبيرة والصغيرة عندما يبحث عن حمار وحشي.
أرقام الأسطر
استخدم خيار –line-number أو فقط -n لتحديد عدد الأسطر بسلسلة تطابق نمط بحث معين. نتيجة لذلك ، تحصل على إخراج قياسي مع رقم سطر أمامه.
قد يبدو الأمر الدقيق كما يلي: $ grep -n 10000 / etc / services . عند التنفيذ ، يوفر الإخراج جميع المطابقات التي يجدها في 10000 سطر. تحقق من العينة أدناه:
10423: ndmp 10000 / tcp
10424: ndmp 10000 / udp
الملفات في المجلدات
يمكنك وضع علامة نجمية خلف أمر grep بدلاً من اسم الملف. باستخدام معايير gnu مرة أخرى ، يبدو الأمر كأنه $ grep gnu * وسرد الإخراج الملفات التي تحتوي على gnu . ومن المهم ملاحظة أن هذا النوع من الأوامر يُرجع سطرًا.
ملاحظة: مع grep ، يشير السطر إلى سلسلة من الأحرف التي تصل إلى فاصل زمني محدد. ما لم تنقح عملية البحث ، فقد يحتوي الإخراج على فقرات كاملة من المعلومات.
اتخذ الخطوة التالية مع Grep
هذا الدليل مجرد خدوش سطح ما يمكنك القيام به مع grep. قد يستغرق الأمر بعض الوقت للحصول على كل الاحتمالات والغايات ، ولكن بناء الجملة يتبع مبدأ بسيط إلى حد ما. ومع بعض الممارسات ، ستتمكن من تحسين عمليات البحث الخاصة بك إلى حد الكمال ، باستخدام أو بدون اسم الملف.