جريب (يونكس)

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث
grep
Grep example.png
لقطة شاشة
معلومات عامة
نوع
نظام التشغيل
المنصة
معلومات تقنية
المطور الأصلي
المطورون
الإصدار الأول
نوفمبر 1974; منذ 45 سنوات (1974-11[1]
الإصدار الأخير
3.3 [3]
الرخصة

grep هي أداة مساعدة لسطر الأوامر للبحث عن مجموعات بيانات النص العادي للخطوط التي تتطابق مع التعابير النمطية (بالإنجليزية: Regular expression)‏ يأتي اسمه من الأمر ed، ‏ g/re/p ‏(globally regular expression & print)، والذي له نفس التأثير: إجراء بحث عالمي باستخدام التعبير المنتظم وطباعة جميع خطوط المطابقة[4][5].

تم تطوير Grep في الأصل لنظام التشغيل Unix، ولكن تم توفيره لاحقًا لجميع أنظمة Unix المشابهة وبعض الأنظمة الأخرى مثل OS-9[6].

التاريخ[عدل]

قام كين طومسون بكتابة النسخة الأولى من grep بين عشية وضحاها لمساعدة لي ماكماهون في تحليل نص الأوراق الفيدرالية لتحديد تأليف الأوراق الفردية[7] كان محرر نص ed (طوره أيضًا تومسون) يدعم تعبيرًا منتظمًا ولكن لا يمكن استخدامه على هذا القدر الكبير من النص، لذلك قام تومسون باقتطاع هذه التعليمة البرمجية إلى أداة قائمة بذاتها.

اختار تومسون الاسم لأنه على محرر ed، سيطبع الأمر g/re/p جميع الأسطر المطابقة لنمط محدد مسبقًا[8][9]. تم تضمين grep لأول مرة في الإصدار 4 يونكس. مشيراً إلى أنه "استشَهد باعتباره أداة برمجية نموذجية"، دوغ ماكلروي اعتبر جريب "لا رجعة فيه" مع فلسفة أدوات تومسون في يونكس[10].

استخدام عادي[عدل]

يوضح المثال التالي أوامر grep بنتائج مختلفة


$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

$ grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
12:operator:x:11:0:operator:/root:/sbin/nologin

$ grep -c false /etc/passwd
7

الاختلافات[عدل]

تتوفر مجموعة متنوعة من تطبيقات grep في العديد من أنظمة التشغيل وبيئات تطوير البرامج[10] تضمنت المتغيرات المبكرة egrep و fgrep، المقدمة في الإصدار 7 Unix. [10] يطبق متغير " egrep " بناء جملة تعبير عادي موسع تم إضافته إلى Unix بعد تنفيذ التعبير الأصلي العادي من قِبل Ken Thompson بواسطة Alfred Aho.[11] يبحث متغير " fgrep " عن أي قائمة من السلاسل الثابتة باستخدام خوارزمية مطابقة سلسلة Aho–Corasick [12] تستمر ثنائيات هذه المتغيرات في معظم الأنظمة الحديثة، ومع ذلك فقد تم إهمال استخدامها بشكل صريح وأدرجت وظائف هذه المتغيرات في grep سطر الأوامر -E و -F استخدام المفاتيح هو بالتالي طريقة الاستخدام الموصى بها[13].

الاستخدام كفعل[عدل]

في ديسمبر 2003، أضاف قاموس أوكسفورد للغة الإنجليزية عبر الإنترنت إدخالات مسودة لـ "grep" كاسم وفعل.

استخدام الفعل الشائع هو عبارة "You can't grep dead trees" - يمكن أن يؤدي البحث عن شخص بسهولة إلى البحث من خلال الوسائط الرقمية، باستخدام أدوات مثل grep، أكثر مما يمكن باستخدام نسخة ورقية (على سبيل المثال، واحدة مصنوعة من الأشجار الميتة، ورقة) مقارنة مع فعل جوجل.

روابط خارجية[عدل]

المراجع[عدل]

  1. أ ب Kernighan, Brian (1984). The Unix Programming Environment. Prentice Hall. صفحات 102. ISBN 0-13-937681-X. مؤرشف من الأصل في 15 ديسمبر 2019. الوسيط |CitationClass= تم تجاهله (مساعدة)
  2. ^ “grep was a private command of mine for quite a while before i made it public.” -Ken Thompson نسخة محفوظة 2015-05-26 على موقع واي باك مشين., By Benjamin Rualthanzauva, Published on Feb 5, 2014, Medium
  3. ^ "grep-3.3 تم إصداره [مستقر]  ". مؤسسة البرمجيات الحرة  . 2018-12-20  . مؤرشف من [https://lists.gnu.org/archive/html/info-gnu/2018-12/msg00011.html   الأصل] تحقق من قيمة |مسار= (مساعدة) في 28 ديسمبر 2018. اطلع عليه بتاريخ 27 ديسمبر 2018. الوسيط |CitationClass= تم تجاهله (مساعدة); line feed character في |عنوان= على وضع 27 (مساعدة); line feed character في |ناشر= على وضع 22 (مساعدة); line feed character في |تاريخ= على وضع 11 (مساعدة); line feed character في |الأول= على وضع 4 (مساعدة); line feed character في |مسار= على وضع 66 (مساعدة); line feed character في |الماضي= على وضع 7 (مساعدة); الوسيط |firstالأول= يفتقد |lastالأول= في الأول (مساعدة); تحقق من التاريخ في: |تاريخ= (مساعدة)
  4. ^ هوبن وآخرون. 1997، الفصل 9
  5. ^ Raymond, Eric. "grep". Jargon File. مؤرشف من الأصل في 17 يونيو 2006. اطلع عليه بتاريخ 29 يونيو 2006. الوسيط |CitationClass= تم تجاهله (مساعدة)
  6. ^ Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN 0-9519228-0-7. الوسيط |CitationClass= تم تجاهله (مساعدة)
  7. ^ Computerphile، من أين جاء برنامج GREP، مقابلة مع براين كيرنيغان، https://www.youtube.com/watch؟v=NTfOnGZUZDk نسخة محفوظة 11 نوفمبر 2018 على موقع واي باك مشين.
  8. ^ "ed regexes". perl.plover.com. مؤرشف من الأصل في 20 أكتوبر 2017. اطلع عليه بتاريخ 24 أبريل 2018. الوسيط |CitationClass= تم تجاهله (مساعدة)
  9. ^ "How Grep Got its Name". robots.thoughtbot.com. مؤرشف من الأصل في 09 أغسطس 2017. اطلع عليه بتاريخ 24 أبريل 2018. الوسيط |CitationClass= تم تجاهله (مساعدة)
  10. أ ب ت (Technical report). الوسيط |CitationClass= تم تجاهله (مساعدة); مفقود أو فارغ |title= (مساعدة)
  11. ^ Hume, Andrew (1988). "A Tale of Two Greps". Software—Practice & Experience. 18 (11): 1063. الوسيط |CitationClass= تم تجاهله (مساعدة)
  12. ^ Meurant, Gerard (12 Sep 1990). Algorithms and Complexity. Elsevier Science. صفحة 278. مؤرشف من الأصل في 04 مارس 2016. اطلع عليه بتاريخ 12 ديسمبر 2015. الوسيط |CitationClass= تم تجاهله (مساعدة)
  13. ^ "grep". www.pubs.opengroup.org. The Open Group. مؤرشف من الأصل في 28 نوفمبر 2015. اطلع عليه بتاريخ 12 ديسمبر 2015. الوسيط |CitationClass= تم تجاهله (مساعدة)