كيفية استخدام Grep Command في Linux

فهم أمر grep بأمثلة عملية لتصفية محتوى الملف وعرضه بسهولة

GREPلتقف على "طباعة التعبير العادي العالمية". إنها أداة مفيدة لسطر الأوامر يوفرها Linux ، للبحث عن سطر النص الذي يتطابق مع النمط الذي يوفره المستخدم.

grepيأخذ المدخلات من المستخدم في شكل سلاسل أو كلمات يرغب المستخدم في البحث عنها في ملف معين. يقوم الأمر بعد ذلك بفحص الملف المحدد من قبل المستخدم لهذا النمط ثم إرجاع الأسطر التي تطابق النمط المقدم.

يقوم بعمل ممتاز من خلال تصفية محتوى الملف مما يجعل مهمتنا أسهل للبحث في محتوى معين في ملفات فردية أو متعددة في وقت واحد.

في هذه المقالة ، دعونا نراجع أداء grepالأمر مع بعض الأمثلة العملية بالتفصيل.

الخيارات المتاحة مع grepالأمر

هذه بعض الخيارات الأساسية التي ستستخدمها كثيرًا مع grepالأمر.

خيار وصف
-i لبحث حساس لحالة الأحرف
-r للبحث بشكل متكرر عن جميع الملفات في الدليل المحدد والأدلة الفرعية الخاصة به
-c لعرض العدد الإجمالي لمرات ظهور سلسلة
-v لعرض الخطوط غير المطابقة
-w تصفية لتلك الكلمة المعينة المستخدمة بشكل منفصل

باستخدام grepالأمر

grepعادة ما يتم استخدام الأمر مع |الأداة المساعدة pipe ( ). يمكن تنفيذه باستخدام shell pipe عندما تريد استخدامه مع بعض أوامر Linux الأخرى. على الرغم من أنه grepيمكن أيضًا استخدامه بشكل فردي بدون |الأداة المساعدة للأنبوب ( ).

دعونا نلقي نظرة على بعض التركيبات الأساسية grepللأمر مع وبدون أداة الأنابيب المساعدة.

اسمح لي أولاً أن أعرض لك نموذج الملف النصي الذي سأستخدمه لتوضيح grepالأمر.

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
india stands on three pillars of legislature, executive and judiciary.
India Is a Beautiful Country Of Peace Loving People.
India cares for the people as it's resource
cartesian coordinates
importance of all th cartesian coordinates.
Following are two empty lines.



use of a bullock cart is a common sight in the village for the agrarian chores.

This is the end of the sample file.

grepتستخدم مع الأنابيب (|) فائدة

grepيمكن تنفيذ الأمر جنبًا إلى جنب مع أوامر Linux الأخرى باستخدام أنابيب shell. مثل ، استخدام catالأمر لعرض محتوى الملف ولكن في نفس الوقت تمرير الإخراج باستخدام grepالأمر لعرض المحتوى الذي ترغب في رؤيته فقط. سيكون هذا أكثر وضوحًا عندما نراجع المثال.

بناء الجملة :

[command] | grep [string]

مثال :

cat sample.txt | grep legislature

هنا ، لقد استخدمت catالأمر لعرض بعض الأسطر من ملف "sample.txt". يتم عرض هذه الأسطر فقط التي تحتوي على كلمة "هيئة تشريعية" فيها وتتجاهل بقية السطور.

الإخراج :

[email protected]:~/workspace$ cat sample.txt | grep legislature
india stands on three pillars of legislature, executive and judiciary.
[email protected]:~/workspace$

grepتستخدم بدون الأنابيب (|) فائدة

grepيمكن استخدامها مباشرة كأمر فردي دون استخدام | الأداة المساعدة pipe ( ).

بناء الجملة :

grep [string_to_be_searched] [filename]

مثال :

grep India sample.txt

الإخراج :

India Is a Beautiful Country Of Peace Loving People.
India cares for the people as it's resource

وبالتالي ، فقد استخدمت grepالأمر مباشرةً لتصفية الأسطر التي تحتوي على السلسلة "India" من الملف النصي "sample.txt".

بحث حساس لحالة الأحرف باستخدام grepالأمر

يتوخى نظام Linux الحذر الشديد بشأن حساسية حالة الأحرف عندما نطلق الأوامر على الجهاز. يتطلب هذا من المستخدم توخي الحذر بشأن حالة السلسلة الموضوعة في الأمر.

دعونا نرى هذا من خلال مثال.

grep peace sample.txt

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

لتجنب هذا الغموض ، يمكنك ببساطة استخدام -iالخيار الذي يخبر grepالأمر حرفيًا "انسَ الحالة التي وضعت فيها السلسلة ، وابحث فقط عن جميع الأنماط المتطابقة في الملف."

بناء الجملة:

grep -i [string] [filename]

مثال :

grep -i peace sample.txt

الإخراج :

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
India Is a Beautiful Country Of Peace Loving People.

يتم عرض جميع الأسطر المطابقة بغض النظر عن الحالة التي تكون فيها السلسلة المطابقة.

البحث التكراري باستخدام grepالأمر

و -rسوف خيار بالبحث عن جميع الملفات في دليل وكافة الدلائل الفرعية التي تتوافق مع نمط سلسلة المقدمة من قبل المستخدم في الأمر.

بناء الجملة :

grep -i -r [string] [file_path]

مثال :

grep -i -r tomcat /home/gaurav/workspace

السلسلة هنا هي 'tomcat' وسيتم البحث عنها في مساحة عمل الدليل. سيتم أيضًا فحص جميع الدلائل الفرعية والملفات الموجودة في دليل "مساحة العمل" لمطابقة نمط السلسلة المقدم.

الإخراج :

./context_log.policy:// catalina.policy - Security Policy Permissions for Tomcat 7
./context_log.policy:// Note: If tomcat-juli.jar is in ${catalina.base} and not in ${catalina.home},
./context_log.policy://  grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..}
./context_log.policy:grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
./context_log.policy:    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server";
./context.xml:    
./catalina.properties:# - Tomcat Bootstrap JARs
./catalina.properties:# - Tomcat API JARs
./catalina.properties:# - Tomcat JARs
./catalina.properties:# - Common non-Tomcat JARs
./catalina.properties:org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar
./catalina.properties:tomcat.util.buf.StringCache.byte.enabled=true
./catalina.properties:#tomcat.util.buf.StringCache.char.enabled=true
./catalina.properties:#tomcat.util.buf.StringCache.trainThreshold=500000
./catalina.properties:#tomcat.util.buf.StringCache.cacheSize=5000
./server.xml:              pathname="conf/tomcat-users.xml" />
./server.xml:    
./tomcat-users.xml:  
./tomcat-users.xml:
./web.xml:  
./web.xml:  

ملاحظة : أثناء استخدام -rالخيار مع grepالأمر ، نحتاج إلى توفير مسار الملف وليس اسم الملف

البحث عن كلمات كاملة فقط مع grepالأمر

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

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

مثال :

هنا ، أريد البحث عن كلمة فردية "عربة" وعرض جميع الأسطر المطابقة لهذه الكلمة في ملف "sample.txt".

grep -i cart sample.txt

الإخراج :

Cartesian coordinates
importance of all the Cartesian coordinates.
use of a bullock cart is a common sight in the village for the agrarian chores
The cart went missing as the boy left it loose.

في الإخراج ، يمكنك ملاحظة أن كلمة "ديكارت" تحتوي أيضًا على كلمة "عربة" ، وبالتالي ، يتم أيضًا عرض الأسطر التي تحتوي على كلمة "ديكارت" على الرغم من أننا لا نريد عرضها.

يمكنك استخدام -wالخيار مع grepالأمر لحل هذا الغموض.

بناء الجملة :

grep -i -w [string] [filename]

مثال :

grep -i -w cart sample.txt

الإخراج :

use of a bullock cart is a common sight in the village for the agrarian chores.
The cart went missing as the boy left it loose.

الآن ، عندما تستخدم wالخيار - grepمعك ، ستحصل فقط على الأسطر التي تستخدم فيها كلمة "عربة" ككل.

البحث المقلوب باستخدام grepالأمر

grepيمكن أيضًا استخدام الأمر بطريقة عكسية. يمكننا استخدام grepالأمر بشكل معاكس عن طريق إخفاء الأسطر المطابقة وعرض الأسطر التي لم يتم العثور على التطابق فيها فقط. يمكنك القيام بذلك باستخدام -vالخيار باستخدام grepالأمر.

بناء الجملة :

grep -i -v [string] [filename]

مثال :

grep -i -v resource sample.txt

الإخراج :

INDIA IS A BEAUTIFUL COUNTRY OF PEACE LOVING PEOPLE.
india stands on three pillars of legislature, executive and judiciary.
India Is a Beautiful Country Of Peace Loving People.
cartesian coordinates
importance of all th cartesian coordinates.




use of a bullock cart is a common sight in the village for the agrarian chores.
This is the end of the sample file.

في الإخراج ، يتم عرض جميع الأسطر الأخرى بخلاف السطر الذي يحتوي على كلمة "مورد".

عد تكرارات سلسلة مطابقة

grepعادةً ما يكون إخراج الأمر طويلاً جدًا إذا كانت البيانات الموجودة في الملف واسعة النطاق. كلما زاد عدد التطابقات ، زادت مدة إخراج grepالأمر. يوفر لك Linux خيارًا حيث يمكنك عرض عدد مرات حدوث المباراة.

بناء الجملة :

grep -i -c [string] [filename]

مثال :

grep -i -c india sample.txt

الإخراج :

[email protected]:~/workspace$ grep -i -c india sample.txt
4
[email protected]:~/workspace$

هنا ، الناتج هو رقم وهو عدد تكرارات كلمة "India" في ملف sample.txt.

ملاحظة : لقد استخدمت -iالخيار في كل مثال لأكون آمنًا مع مشكلة حساسية الحالة. إذا كنت متأكدًا من حالة الكلمة التي تبحث عنها ، فيمكنك حذف -i الخيار بأمان .

استنتاج

لقد تعلمنا الاستخدامات الأساسية grepللأمر على أنظمة Linux في هذا البرنامج التعليمي. تعلمنا أيضًا عرض محتوى متنوع يناسب متطلباتنا على أفضل وجه وعدم ازدحام المحطة بأحمال من الخطوط. grepسيكون الأمر بالتأكيد موفرًا للوقت إذا تم استخدامه لمسح مجموعات البيانات الكبيرة.

Tags: #grep

كيفية تعطيل Ubuntu Dock على Ubuntu 20.04

كيفية تعطيل Ubuntu Dock على Ubuntu 20.04

أحيانًا يكون من الأفضل مغادرة الرصيف والإبحار بعيدًا!

كيفية استخدام CD Command في Linux

كيفية استخدام CD Command في Linux

طريقة سهلة لتغيير الدلائل في Linux من المحطة

كيفية إضافة مفاتيح SSH على أوبونتو 20.04

كيفية إضافة مفاتيح SSH على أوبونتو 20.04

تشرح لك هذه المقالة عملية إضافة مصادقة مفاتيح SSH على خادم Ubuntu 20.04 وتعطيل المصادقة المستندة إلى كلمة المرور.

كيفية تحديث Firefox من Terminal على أجهزة كمبيوتر Ubuntu Linux

كيفية تحديث Firefox من Terminal على أجهزة كمبيوتر Ubuntu Linux

تعرف على كيفية تحديث Firefox من Terminal على كمبيوتر Ubuntu Linux

كيفية تمكين SSH على Ubuntu 20.04

كيفية تمكين SSH على Ubuntu 20.04

الوصول بأمان إلى جهاز Ubuntu الخاص بك من أي مكان

كيفية التحقق مما إذا كان الملف أو الدليل موجودًا في برنامج Bash Shell

كيفية التحقق مما إذا كان الملف أو الدليل موجودًا في برنامج Bash Shell

التحقق من وجود ملف أو دليل من نص برمجي Bash

كيفية تثبيت Google Chrome على Ubuntu 20.04

كيفية تثبيت Google Chrome على Ubuntu 20.04

دليل سريع لتثبيت Google Chrome من سطر الأوامر على Ubuntu 20.04

كيفية إجراء اختبارات السرعة من سطر أوامر Linux باستخدام Speedtest-cli

كيفية إجراء اختبارات السرعة من سطر أوامر Linux باستخدام Speedtest-cli

Speedtest.net هي خدمة لاختبار سرعة اتصالك بالإنترنت. يستخدم خادم speedtest.net قريب للتنزيل

كيفية إنشاء مستخدم Sudo على Ubuntu 20.04 LTS

كيفية إنشاء مستخدم Sudo على Ubuntu 20.04 LTS

امنح امتيازات الجذر لأي مستخدم لديه sudo على Ubuntu 20.04 LTS

كيفية تحديث NodeJS إلى أحدث إصدار في أوبونتو

كيفية تحديث NodeJS إلى أحدث إصدار في أوبونتو

تحديث NodeJS باستخدام APT و NVM.