الأمر 'grep' يرمز إلى 'طباعة التعبير العادي العالمية' . يقوم أمر grep بتصفية محتوى الملف مما يجعل عملية البحث سهلة.
إنها أداة مساعدة لسطر الأوامر للبحث في مجموعات بيانات النص العادي عن الأسطر التي تشبه التعبير العادي. الاسم 'سيطرة' يأتي من الأمر، أي ed، الذي يحتوي على نفس التأثير. في الأصل، تم تصميم grep لنظام التشغيل Unix، لكنه أصبح متاحًا لكل نظام يشبه Unix لاحقًا وعدد قليل من الأنظمة الأخرى مثل OS 9.
يبحث مرشح grep عن ملف لنمط أحرف معين ويعرض كل سطر يتضمن هذا النمط. يجب أن تكون الأحرف ضمن علامات اقتباس إذا ظهرت في معلمة النمط ذات معنى خاص للصدفة. عادةً، يجب علينا إحاطة النمط بأكمله بعلامة اقتباس واحدة إذا لم تكن معلمة النمط سلسلة شائعة.
خريطة مقابل مجموعة
في تعبير مثل [a-z]، تصف علامة الطرح (-) cml نطاقًا يعتمد على ترتيب الترتيب الحالي. قد يحدد أمر التجميع فئات مكافئة في نطاقات الأحرف للاستخدام. يفترض الأمر grep stdin عند عدم ذكر أي ملفات.
يُسمى النمط بالتعبير العادي الموجود داخل الملف. النمط مقيد بالتعبيرات العادية بتنسيق الأمر egrep أو ed. يطبق أمر grep خوارزمية قوية غير حتمية. يكون مفيدًا عندما نحتاج إلى تصفية ملفات السجل الكبيرة.
تاريخ موجز ل grep
قبل أن يتم تسميتها، كانت grep أداة مساعدة سرية تم تحديدها بواسطة كين طومسون للعثور على ملفات لعدة أنماط. غير معروف بوجودها، دوج ماكلروي طلب من طومسون تحديد مثل هذه الوظيفة. أجاب أنه سيفكر بين عشية وضحاها في مثل هذه الأداة. أجرى طومسون تحسينات وصحح الأخطاء لمدة ساعة تقريبًا في برنامجه المسمى 'س' (أو البحث). قدم الوظيفة إلى ماكلروي في اليوم التالي، الذي قال إنها نفس الوظيفة التي يريدها. قد يصف حساب طومسون الاعتقاد بأن أمر grep تم تحديده بين عشية وضحاها.
حدد طومسون الإصدار الأولي في لغة التجميع PDP-11 لدعمه لي إي ماكموهان التحقق من نص الأوراق الفيدرالية لتحديد تأليف الورقة الفردية. كان محرر النص الإلكتروني يدعم التعبير العادي ولكن لا يمكن استخدامه مع مثل هذا النص الكبير. قام طومسون بنسخ هذا الرمز إلى أداة مستقلة. اختار الاسم بسبب في إد؛ سيطبع الأمر grep كل سطر بنفس النمط الموصوف. أولاً، تمت إضافة grep في الإصدار 4 Unix، قائلاً ذلك 'يتم الاستشهاد بها عمومًا على أنها الأداة البرمجية النموذجية' ، وافق Mcllroy على grep مع 'متأصلة بشكل لا رجعة فيه' أدوات فلسفة طومسون في يونكس.
تطبيقات grep
توجد مجموعة من تطبيقات grep في العديد من بيئات تطوير البرامج وأنظمة التشغيل. تضمنت الإصدارات المبكرة fgrep وegrep، اللذين تم تقديمهما في الإصدار السابع من Unix. يدعم إصدار egrep بناء جملة التعبير العادي الموسع الذي تم تضمينه بواسطة Alfred Aho بعد تنفيذ التعبير العادي الأصلي بواسطة Ken Thompson. يعثر إصدار fgrep على أي قائمة سلاسل ثابتة ذات ملحق خوارزمية مطابقة سلسلة Aho-Corasick . تتوفر ثنائيات الإصدار هذه في الأنظمة الحديثة، حيث تتصل بـ grep أو تستدعي برنامج نصي grep باستخدام العلامة الصحيحة المضافة أثناء نشرها بشكل عام على أنظمة POSIX.
وتشمل الأوامر الأخرى 'سيطرة' كلمة لتمثيل أنهم يبحثون عن أدوات، عادةً ما تعتمد على تطابقات التعبير العادي. على سبيل المثال، المنفعة، أي، 'بغريب' ، يعرض العمليات التي تتطابق عناوينها مع التعبير العادي المقدم.
- Grep هو عنوان الوظيفة المضمنة التي تبحث عن العناصر الموجودة في القائمة والتي تسلي خاصية معينة في بيرل لغة برمجة.
- عادةً ما يتم استدعاء هذه الوظيفة ذات الترتيب الأعلى 'منقي' أو 'أين' بلغة أخرى.
- الأمر، أي: com.pcregrep ، هو تطبيق grep يستخدم بناء جملة التعبير العادي لـ Perl. يمكن إضافة نفس الوظيفة إلى إصدار grep GNU باستخدام العلامة -P.
- أيضًا، منافذ grep (على سبيل المثال، in GnuWin32 و سيجوين ) يتم تنفيذه على Microsoft Windows. توفر بعض إصدارات Windows نفس الأمر findstr أو qgrep.
- يعد الأمر grep أيضًا جزءًا من أدوات MSX-DOS2 لـ ASCII للإصدار الثاني من MSX-DOS.
- تم شحن أوامر fgrep، وegrep، وgrep إلى نظام التشغيل IBM i OS.
يحتوي برنامج Adobe InDesign على وظائف GREP (منذ إصدار CS3) في مربع حوار علامة التبويب 'تغيير/بحث' 'GREP' ويتم تحديدها باستخدام CS4 في 'أنماط GREP' أنماط الفقرة.
كيفية تثبيت grep في لينكس؟
يأتي Grep مثبتًا مسبقًا في كل توزيعات Linux تقريبًا. ومع ذلك، في حالة ما، يمكننا تثبيته باستخدام الأمر أدناه في نافذة الوحدة الطرفية إذا كان مفقودًا من نظامنا:
$ sudo apt-get install grep
grep مع الأنابيب
ما هو الخروج svn
يُستخدم الأمر 'grep' بشكل عام مع توجيه الإخراج (|) .
بناء الجملة:
command | grep
مثال:
cat marks.txt | grep 9
انظر إلى اللقطة أعلاه، حيث يقوم أمر grep بتصفية جميع البيانات التي تحتوي على الرقم '9'.
grep بدون أنبوب
يمكن استخدامه بدون أنبوب أيضًا.
بناء الجملة:
grep
مثال:
grep 9 marks.txt
انظر إلى اللقطة أعلاه، الأمر grep يقوم بنفس العمل كما في المثال السابق ولكن بدون توجيه.
خيارات جريب
بناء الجملة:
grep -v
مثال:
grep -v 9 marks.txt
انظر إلى اللقطة أعلاه، الأمر 'grep -v 9 علامات.txt' يعرض السطور التي لا تحتوي على كلمة البحث '9'.
بناء الجملة:
grep -i
مثال:
grep -i red exm.txt
انظر إلى اللقطة أعلاه، الأمر 'grep -i أحمر exm.txt' يعرض جميع الأسطر التي تحتوي على 'أحمر' سواء بالأحرف الكبيرة أو الصغيرة.
يتم استخدام الأمر grep -A لعرض ملف سطر بعد النتيجة .
يتم استخدام الأمر grep -B لعرض ملف سطر قبل النتيجة .
يتم استخدام الأمر grep -C لعرض ملف السطر الذي بعده والسطر الذي قبله النتائج.
يمكنك استخدام (A1, A2, A3.....)(B1, B2, B3....)(C1, C2, C3....) لعرض أي عدد من الخطوط.
بناء الجملة:
شويتا تيواري الممثل
grep -A grep -B grep -C
مثال:
grep -A1 yellow exm.txt grep -B1 yellow exm.txt grep -C1 yellow exm.txt
انظر إلى اللقطة أعلاه، الأمر 'grep -A1 exm.txt أصفر' يعرض السطر الذي تم البحث فيه مع السطر التالي، الأمر 'grep -B1 exm.txt أصفر' يعرض السطر الذي تم البحث فيه مع سطر وأمر سابقين 'grep -C1 exm.txt أصفر' يعرض السطر الذي تم البحث فيه مع سطر واحد سابق ولاحق.