محرر النصوص (ed)

محرر النصوص ed (يُنطق كحرفين منفصلين، / ˌiːˈdiː / ) [ 1 ]هو محرر نصوص سطري . كان من أوائل ميزات نظام التشغيل يونكس . [ 2 ] على الرغم من أنه ليس شائع الاستخدام اليوم، إلا أنه لا يزال جزءًا من معايير POSIX و Open Group ، [ 3 ] إلى جانب محرر النصوص vi الذي يعمل بملء الشاشة .

تاريخ

كان محرر النصوص ed أحد العناصر الرئيسية الثلاثة الأولى لنظام التشغيل يونكس - المُجمِّع ، والمحرر ، والصدفة - الذي طوره كين تومسون في أغسطس 1969 على جهاز PDP-7 في مختبرات AT&T Bell . [ 2 ] استُمدت العديد من ميزاته من محرر النصوص qed الذي طُوِّر في جامعة كاليفورنيا، بيركلي، الجامعة التي تخرج منها تومسون . [ 4 ] كان تومسون مُلِمًّا جدًّا بـ qed، وقد أعاد تنفيذه على نظامي CTSS و Multics . تميزت إصدارات تومسون من qed بكونها الأولى التي تُطبِّق التعابير النمطية . تُطبَّق التعابير النمطية أيضًا في ed، على الرغم من أن تطبيقها أقل عمومية بكثير من تطبيقها في qed.

أنتج دينيس إم. ريتشي ما وصفه دوغ ماكلروي لاحقًا بأنه محرر النصوص "النهائي" ed، [ 5 ] وأثرت جوانب من ed على محرر النصوص ex ، ولاحقًا vi . استُلهم أمر grep غير التفاعلي في يونكس من استخدام خاص شائع لـ qed، ولاحقًا ed، حيث g/re/pيُجري الأمر بحثًا عامًا عن التعبيرات النمطية ويطبع الأسطر التي تحتوي على التطابقات. نفّذ محرر النصوص المتدفقة في يونكس، sed ، العديد من ميزات البرمجة النصية لـ qed التي لم يدعمها ed على يونكس. [ 6 ]

تُقلَّد أوامر ed غالبًا في محررات النصوص الأخرى التي تعتمد على سطر الأوامر. على سبيل المثال، يستخدم محرر ED في نظام CP/M ، ومحرر EDLIN في الإصدارات الأولى من نظام MS-DOS ، والإصدارات 32 بت من نظام Windows NT، صيغةً مشابهةً إلى حدٍّ ما، كما تستخدم محررات النصوص في العديد من ألعاب MUD ( مثل LPMud وما حلّ محلها) صيغةً مشابهةً لـ ed. مع ذلك، فإن وظائف هذه المحررات عادةً ما تكون محدودة.

في الممارسة الحالية، نادرًا ما يُستخدم محرر النصوص ed بشكل تفاعلي، ولكنه يُستخدم أحيانًا في نصوص سطر الأوامر . وللاستخدام التفاعلي، تم دمج ed مع محررات النصوص sam و vi و Emacs في ثمانينيات القرن الماضي. يتوفر ed في جميع إصدارات أنظمة Unix و Linux تقريبًا ، ولذلك فهو مفيد لمن يتعاملون مع إصدارات متعددة من Unix. في أنظمة التشغيل المبنية على Unix، تقوم بعض الأدوات المساعدة، مثل SQL*Plus، بتشغيل ed كمحرر نصوص إذا لم يتم تعريف متغيرات البيئة EDITOR وVISUAL. [ 7 ] في حال حدوث خطأ ما، يكون ed أحيانًا هو محرر النصوص الوحيد المتاح. وغالبًا ما يكون هذا هو الوقت الوحيد الذي يُستخدم فيه بشكل تفاعلي.

سمات

صفحة الدليل لبرنامج GNU ed

تشمل ميزات التعليم ما يلي:

تتضمن نسخة جنو خيارات تهدف إلى تحسين التغذية الراجعة. ed -v -p:يوفر استخدامها موجهًا بسيطًا ويتيح رسائل تغذية راجعة أكثر فائدة. [ 8 ]-p تم تعريف هذا الخيار في معيار POSIX منذ XPG2 (1987). [ 3 ]

تجربة المستخدم

يُعرف محرر النصوص ed بإيجازه الشديد، فهو لا يُقدم أي ملاحظات تقريبًا، [ 9 ] وقد وصفه بيتر هـ. سالوس بأنه "أكثر محرر نصوص تعقيدًا للمستخدم على الإطلاق"، حتى بالمقارنة مع محرر TECO المعاصر (والمعروف بتعقيده الشديد) . [ 2 ] على سبيل المثال، الرسالة التي يُنتجها ed في حالة حدوث خطأ، وعندما يُريد تأكيد الخروج دون حفظ، هي مجرد علامة استفهام (؟). فهو لا يُبلغ عن اسم الملف الحالي أو رقم السطر، ولا حتى يعرض نتائج أي تغيير في النص، إلا إذا طُلب ذلك. لم تكن الإصدارات القديمة (حوالي عام 1981) تطلب تأكيدًا عند إصدار أمر الخروج في حال وجود تغييرات غير محفوظة. [ 9 ] كان هذا الإيجاز مناسبًا في الإصدارات الأولى من نظام يونكس، عندما كانت وحدة التحكم عبارة عن جهاز طباعة عن بُعد [ a ] ، وكانت أجهزة المودم بطيئة، والذاكرة محدودة. ومع تطور تكنولوجيا الحاسوب وتخفيف هذه القيود، أصبحت المحررات التي تُقدم ملاحظات أكثر هي السائدة.

تشير وثائق glibc إلى رمز خطأ يتم استدعاؤه مع وصفه (errorstr) الذي هو مجرد علامة استفهام واحدة، مشيرة إلى أن "المستخدم الخبير سيعرف ما هو الخطأ". [ 10 ]ED

مثال

فيما يلي مثال على نص جلسة ed. ولتوضيح الأمر، فإن الأوامر والنصوص التي يكتبها المستخدم موجودة في normal color، بينما مخرجات ed هي gray color.

يُعدّ ed محرر النصوص القياسي في نظام يونكس. هذا هو السطر الثاني. . 2i . ،ل ed is the standard Unix text editor.$$This is line number two.$ w text.txt 633s/two/three/ ،ل ed is the standard Unix text editor.$$This is line number three.$ w text.txt 65 q

والنتيجة النهائية هي ملف نصي بسيط باسم text.txt يحتوي على النص التالي:

ed هو محرر النصوص القياسي في نظام يونكس. هذا هو السطر رقم ثلاثة.

يبدأ الأمر بملف فارغ، aثم يُلحق النص (جميع أوامر ed عبارة عن أحرف مفردة). يضع الأمر ed في وضع الإدخال ، فيُدرج الأحرف التالية وينتهي بنقطة واحدة في نهاية السطر. يُخزَّن السطران اللذان يُدخلان قبل النقطة في مخزن الملف المؤقت. يدخل الأمر أيضًا في وضع الإدخال، ويُدرج النص المُدخل (سطر فارغ واحد في حالتنا) قبل السطر الثاني. يمكن إضافة رقم السطر قبل كل أمر للعمل على ذلك السطر.2i

في السطر ، يرمز الحرف L الصغير إلى أمر القائمة. يُسبق الأمر بنطاق، وهو في هذه الحالة اختصار لـ . النطاق عبارة عن رقمي سطرين مفصولين بفاصلة ( يشير إلى السطر الأخير). عندئذٍ، يعرض الأمر ed جميع الأسطر، من الأول إلى الأخير. تنتهي هذه الأسطر بعلامات الدولار، بحيث تكون المسافة البيضاء في نهاية الأسطر واضحة.,l,1,$$

بمجرد إدراج سطر فارغ في السطر الثاني، يصبح السطر الذي يقرأ "هذا هو السطر الثاني." هو في الواقع السطر الثالث. يُصحَّح هذا الخطأ باستخدام أمر الاستبدال. سيُطبَّق هذا الأمر على السطر الصحيح؛ يلي الأمر النص المراد استبداله، ثم النص البديل. يُظهر الآن أن عرض جميع الأسطر التي تحتوي على هذا السطر صحيح.3s/two/three/3,l

w text.txtيكتب المخزن المؤقت إلى الملف text.txt ، مما يجعل برنامج ed يستجيب بعدد الأحرف المكتوبة في الملف. سيؤدي ذلك إلى إنهاء جلسة ed.65q

انظر أيضاً

ملحوظات

  1. يتوافق برنامج ed مع أجهزة طرفية مثل Teletype Model 33

مراجع

  1. Computerphile (2018-07-06)، من أين أتت GREP؟ – Computerphile ، مؤرشف من الأصل بتاريخ 2021-12-11 ، تم الاطلاع عليه بتاريخ 2020-10-21
  2. 1 2 3 سالوس، بيتر هـ. (2005). الشيطان، والنو، والبطريق . غروكلاو . مؤرشف من الأصل في 2010-05-05.
  3. 1 2مرجع الصدفة والأدوات المساعدة، مواصفات يونكس الموحدة ، الإصدار 5 من مجموعة Open Grouped  
  4. DM Ritchie و KL Thompson، "QED Text Editor"، MM-70-1373-3 (يونيو 1970)، أعيد طبعه باسم "QED Text Editor Reference Manual"، MHCC-004، Murray Hill Computing، مختبرات بيل (أكتوبر 1972).
  5. ماكيلروي، دكتور في الطب (1987). قارئ أبحاث يونكس: مقتطفات مشروحة من دليل المبرمج، 1971-1986 (ملف PDF) (تقرير فني). مختبرات بيل. 139.
  6. "حول التاريخ المبكر لنظام يونكس وتأثيره" . مؤرشف من الأصل بتاريخ 7 سبتمبر 2017. تم الاطلاع عليه بتاريخ 22 يونيو 2023. بعد فترة، ظهر طلب على برنامج آخر ذي غرض خاص، وهو gres، للاستبدال: g/re/s. تولى لي ماكماهون كتابته، وسرعان ما توقع أن هذه العائلة لن تنتهي: g/re/d، g/re/a، إلخ. ومع تطور فكرته، أصبح...
  7. إدارة SQL*Plus مؤرشفة بتاريخ 29-12-2019 على موقع Wayback Machine . تم الاطلاع عليها بتاريخ 23-7-2016.
  8. دليل أوامر لينكس العامة من ManKier.comed(1)  
  9. 1 2 دونالد أ. نورمان (1981). "حقيقة يونكس" (ملف PDF) . داتاميشن . مؤرشف من الأصل (ملف PDF) بتاريخ 16-04-2014.
  10. "مكتبة GNU C - رموز الأخطاء" . www.gnu.org . مؤرشف من الأصل بتاريخ 2022-10-08 . تم الاطلاع عليه بتاريخ 2022-10-08 .