إد (محرر نصوص)

إد (بالإنجليزية: ed)‏ محرر نصوص سطري مخصص للعمل على أنظمة يونكس، يعتبر إد واحداً من أوئل البرامج المخصصة لمستخدمي أنظمة الحاسوب على منصات يونكس و يعتبر إد أحد أهم البرامج المعيارية على أنظمة يونكس منذ إطلاق النسخة الأولى منها [1][2] ، كتبت النسخة الأصلية لإد باستخدام مجمـِّع لغة الآلة PDP-11/20 و كان ذلك في عام 1971 على يد كين ثومبسون.

إد
لقطة شاشة
معلومات عامة
نوع
أداة يونكس قياسية — line editor (en)
نظام التشغيل
معلومات تقنية
المطور الأصلي
المطورون
الإصدار الأول
التسلسل
اشتقاقات

التاريخ والتأثير

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

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

g/re/p means globally search for the regular expression re and print the lines containing it

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

الميزات

ميزات إد تتضمن:

  • وجوده و بشكل رئيسي على جميع أنظمة يونكس (و بشكل إلزامي في الأنظمة التي تطبق مواصفات يونكس المنفردة).
  • محرر متعدد الوسائط فهو يدعم نمط واجهة سطر الأوامر و النمط النصي بالإضافة إلى نمط الإظهار.
  • دعم التعابير النمطية.
  • دعم قوي للتشغيل الآلي "الأوتوماتيكي" عن طريق أوامر التغذية من قنوات الأدخال المعيارية (Standard Input).

و يشتهر إد باختصاراته في التعامل مع المستحدمين حيث أنه تقريبأ لا يقوم باعطاء نتائج مرئية للوظائف التي يقوم بتنفيذها أو رسائل الأخطاء، على سبيل المثال فإن الرسالة التي يقوم إد بإظهارها في حالة حدوث خطأ معين أثناء تنفيذ أمر هي طباعة الإشارة "?" و كذلك الأمر في حالة التأكد من قيام المستخدم بإنهاء عملية التحرير. و من المعلوم أن إد لا يدعم بشكل تلقائي إظهار اسم الملف المحرر أو سطر النص أو حتى أظهار نتائج التغيير على النصوص إلا في حال تم تحديد ذلك، هذه الاختصارات كانت مناسبة و في مكانها في الانطلاقات الأولى ليونكس و يرجع السبب في ذلك إلى ضعف العتاد المرئي لأجهزة الحاسوب في ذلك الوقت حيث أنه لم يكن متطوراً كما هو عليه الآن بالإضافة إلى أن الذاكرة الرئيسية لم تكن بالحجم المتعارف عليه في الوقت الحاضر من حيث الكم الذي تستطيع تخزينه من البيانات و المعلومات، و لهذا السبب و مع تطور العتاد المرئي لأجهزة الحاسب فقد أصبحت المحررات المرئية هي المحررات المعيارية في الوقت الحاضر. تعد الاستخدامات التفاعلية لإد قليلةً في الوقت الحاضر و لكنه يستخدم في بعض البرامج النصية "Shell Scripts" و يندرج إد تحت محررات النصوص مثل في آي و إيماكس، و نظراً لتواجده في جميع أنظمة يونكس و توزيعات لينكس يعتبر إد محرر النصوص الوحيد الذي يمكن استخدامه في هذه الأنظمة في حالة حدوث خطأ أو في حالة عدم وجود محررات نصوص أخرى في النظام مما يجعل وجوده في هذه الأنظمة ضرورياً بشكل نسبي. تم تقليد أوامر إد و مصطلحاته الوظيفية في عدد من محررات النصوص الأخرى مثل إدلين و ذلك في أنظمة إم إس-دوس القديمة و في أنظمة ويندوز إن تي العاملة على هيكلية 32 بت.

مثال

و كمثال لاستخدام إد في تحرير النصوص نسرد المقطع التالي و نرجو الانتباه إلى أن الأوامر و النصوص التي يكتبها المستخدم تم تمييزها بالخط العادي و مخرجات إد تم تمييزها بالخط الغليظ:

a
إد محرر النصوص المعياري في يونكس.
هذا السطر رقم اثنان.
.
2i
 
.
%l
إد محرر النصوص المعياري في يونكس.$
$
هذا السطر رقم اثنان.$
%l,/ثلاثة/اثنان/
إد محرر النصوص المعياري في يونكس.$
$
هذا السطر رقم ثلاثة.$
w text.txt
54
q

النتيجة النهائية لأوامر المثال هي ملف بسيط يحوي النص التالي:

إد محرر النصوص المعياري في يونكس.
 
هذا السطر رقم ثلاثة.

يبدأ المثال بمعالجة ملف فارغ حيث أن الأمر a يقوم بإلحاق أو إلصاق النصوص ببعضها البعض (من المفيد أن نذكر هنا أم جميع أوامر إد هي عبارة عن أحرف وحيدة فقط) كما يقوم الأمر أيضاً بوضع إد على نمط الإدخال بحيث يقوم بإدخال الحروف تباعاً و يتوقف عند طباعة النقطة على السطر "."، و السطرين اللذين تم طباعتهما قبل النقطة يتم إدخالهم المنطقة المخصصة لتحرير الملف على الذاكرة الرئيسية "File Buffer"، يقوم الأمر 2i أيضاً بإعلام إد استخدام وضع أو نمط الإدخال و من ثم سيقوم بإدخال النص (سطر فارغ في مثالنا هذا) قبل السطر رقم 2، و من الجدير ذكره أنه بالإمكان سبق الأمر برقم لمعالجة السطر الذي يمثل ذلك الرقم.

في السطر %l الحرف "l" (الحرف الصغير من الحرف L) يعني تنفيذ امر "السرد" (List) و تم سبق الأمر بنطاق ليتم معالجة النص ضمن هذا النطاق و في هذه الحالة تمثل إشارة % اختصاراً للنطاق $,1 و النطاق هو الفرق بين رقمي سطرين مفصولين بفاصلة أنجليزية "," و إشارة "$" تعني الرمز لآخر سطر في الملف، و بناءً عليه فإن إد سيقوم بسرد أو إظهار جميع السطور من أول سطر إلى اَخر سطر (و يمكن تجريب ذلك بتبديل الرقم 1 برقم آخر و يمكنك أيضاً تبديل "$" برقم آخر).

و عند إدخال السطر الفارغ في السطر رقم 2 فإن السطر المكتوب فيه "هذا السطر رقم اثنان" سيصبح في السطر الثالث و تم تبديل كلمة "اثنان" بكلمة "ثلاثة" في المثال للدلالة على ذلك و يظهر ذلك جلياً في الأمر /ثلاثة/اثنان/3s و هو أمر يفيد تبديل الكلمات حيث يتم تفسيره كالاَتي:

  1. يقسم الأمر إلى ثلاثة أقسام و هي (3s، اثنان، و ثلاثة) بالترتيب.
  2. القسم الأول يفيد تحديد رقم السطر المراد معالجته و تحديد عملية الاستبدال (3s).
  3. القسم الثاني يحوي الكلمة المراد استبدالها (في مثالنا الكلمة المراد استبالها هي "اثنان").
  4. القسم الثالث يحوي الكلمة المراد الاستبدال بها (في مثالنا الكلمة المراد الاستبدال بها هي "ثلاثة").

و يفصل بين الأمر و الاَخر الفاصلة الأنجليزية "," و لذلك نرى و كجزء من الأمر "l%," و يعني ذلك أنه بعد تنفيذ أمر الاستبدال سيتم القيام بتنفيذ أمر "السرد" (List). الأمر "w text.txt" يفيد بتنفيذ عملية الحفظ و كتابة محتويات الملف تحت اسم "text.txt" و يتم تنفيذ ذلك عن طريق الأمر "w" و هو اختصار لكلمة "write" و تعني بالإنجليزية "أكتب" أو "إحفظ" و هذا الأمر يجعل إد يقوم بطباعة 54 و هذا الرقم يمثل عدد الأحرف التي تم حفظها في الملف و أخيراً يوعز الأمر "q" لإد القيام بالخروج من بيئة محرر النصوص، حيث أن حرف "q" يمثل الاختصار للكلمة الإنجليزية "quit" و التي تعني حرفياً "إنهاء".

بيل جوي

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

انظر أيضاً

المراجع

  1. ed - text editor نسخة محفوظة 03 مارس 2016 على موقع واي باك مشين.
  2. It is included in جنو/لينكس, نت بي إس دي, فري بي ‌إس ‌دي and its derivatives like Apple أو إس 10 and بي سي بي إس دي.
    • بوابة أبل
    • بوابة عقد 1970
    • بوابة برمجيات حرة
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.