OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

البقرى

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


حتى الآن ، استخدمنا البقرى بسلاسل ثابتة ، مثل:


[me @ linuxbox ~] $ ls / usr / بن | grep zip

[me @ linuxbox ~] $ ls / usr / بن | grep zip


سيؤدي ذلك إلى سرد جميع الملفات الموجودة في ملف / البيرة / بن الدليل الذي تحتوي أسماؤه على السلسلة الفرعية “zip”.

البقرى يقبل البرنامج الخيارات والحجج بهذه الطريقة:

جريب [الخيارات] رجإكس [ملف...]

أين رجإكس هو تعبير عادي.

فيما يلي قائمة بالملفات الأكثر استخدامًا البقرى الخيارات:


الجدول 19-1: خيارات grep


وصف الخيار

وصف الخيار

-i تجاهل الحالة. لا تفرق بين الأحرف الكبيرة والصغيرة. قد يتم تحديدها أيضًا - أقل من حالة.


صورة

-v مباراة معكوسة. عادة، البقرى يطبع الأسطر التي تحتوي على تطابق.

هذا الخيار يسبب البقرى لطباعة كل سطر لا يحتوي على تطابق. قد يتم تحديدها أيضًا - عكس المباراة.


صورة

-c اطبع عدد المطابقات (أو غير المطابقة إذا كان ملف -v يتم تحديد الخيار أيضًا) بدلاً من السطور نفسها. قد يتم تحديدها أيضًا --عدد.


صورة

-l اطبع اسم كل ملف يحتوي على تطابق بدلاً من الأسطر نفسها. قد يتم تحديدها أيضًا - ملفات مع مباريات.


صورة

-L مثل الخيار -l ، لكن اطبع فقط أسماء الملفات التي لا تحتوي على مطابقات. يمكن أيضًا تحديد - ملفات - بدون - تطابق.


صورة

-n بادئة كل سطر مطابق برقم السطر داخل الملف. قد يتم تحديده أيضًا - رقم الخط.


صورة

-h بالنسبة لعمليات البحث متعددة الملفات ، قم بإيقاف إخراج أسماء الملفات. قد يتم تحديدها أيضًا --لا يوجد اسم ملف.


صورة


من أجل استكشاف أكثر بشكل كامل البقرى، فلنقم بإنشاء بعض الملفات النصية للبحث:

البقرى


[me @ linuxbox ~] $ ls / bin> dirlist-bin.txt [me @ linuxbox ~] $ ls / usr / bin> dirlist-usr-bin.txt [me @ linuxbox ~] $ ls / sbin> dirlist-sbin.txt [me @ linuxbox ~] $ ls / usr / sbin> dirlist-usr-sbin.txt [me @ linuxbox ~] $ ls dirlist * .txt

dirlist-bin.txt dirlist-sbin.txt dirlist-usr-sbin.txt dirlist-usr-bin.txt

[me @ linuxbox ~] $ ls / bin> dirlist-bin.txt [me @ linuxbox ~] $ ls / usr / bin> dirlist-usr-bin.txt [me @ linuxbox ~] $ ls / sbin> dirlist-sbin.txt [me @ linuxbox ~] $ ls / usr / sbin> dirlist-usr-sbin.txt [me @ linuxbox ~] $ ls dirlist * .txt

dirlist-bin.txt dirlist-sbin.txt dirlist-usr-sbin.txt dirlist-usr-bin.txt


يمكننا إجراء بحث بسيط في قائمة الملفات لدينا مثل هذا:



[me @ linuxbox ~] $ grep bzip dirlist * .txt

dirlist-bin.txt: bzip2 dirlist-bin.txt: bzip2recover

[me @ linuxbox ~] $ grep bzip dirlist * .txt

dirlist-bin.txt: bzip2 dirlist-bin.txt: bzip2recover


في هذا المثال، البقرى يبحث في جميع الملفات المدرجة عن السلسلة بزيب والعثور على تطابقين ، كلاهما في الملف dirlist- bin.txt. إذا كنا مهتمين فقط بقائمة الملفات التي تحتوي على التطابقات بدلاً من المطابقات نفسها ، فيمكننا تحديد -l الخيار:



[me @ linuxbox ~] $ grep -l bzip dirlist * .txt

dirlist- bin.txt

[me @ linuxbox ~] $ grep -l bzip dirlist * .txt

dirlist- bin.txt


بالمقابل ، إذا أردنا فقط رؤية قائمة بالملفات التي لا تحتوي على تطابق ، فيمكننا القيام بذلك:



[me @ linuxbox ~] $ grep -L bzip dirlist * .txt

dirlist-sbin.txt dirlist-usr-bin.txt dirlist-usr-sbin.txt

[me @ linuxbox ~] $ grep -L bzip dirlist * .txt

dirlist-sbin.txt dirlist-usr-bin.txt dirlist-usr-sbin.txt


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: