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

تعديل - تعديل مصدري - تعديل ويكي بيانات إد (بالإنجليزية: ed)‏ محرر نصوص سطري مخصص للعمل على أنظمة يونكس، يعتبر إد واحداً من أوئل البرامج المخصصة لمستخدمي أنظمة الحاسوب على منصات يونكس ويعتبر إد أحد أهم البرامج المعيارية على أنظمة يونكس منذ إطلاق النسخة الأولى منها  ، كتبت النسخة الأصلية لإد باستخدام مجمـِّع لغة الآلة PDP-11/20 وكان ذلك في عام 1971 على يد كين ثومبسون. العديد من الوظائف والميزات في إد تم جلبها من محرر النصوص كيو إد الذي تمت كتابته في جامعة كاليفورنيا، بركلي، كان لدى ثومبسون معرفة كبيرة في كيو إد وكان قد قام بإعادة كتابته وتوظيفيه للعمل على أنظمة سي تي أس أس ومولتكس وكانت النسخة التي قام ثومبسون بإعادة كتابتها هي أول نسخة من كيو إد تدعم التعابير النمطية وعلى الرغم من كون التعابير النمطية جزء من إد إلا أن تطبيقها في إد يعتبر أقل عمومية من نظيراتها في كيو إد. قامت الجوانب الوظيفية في إد بالتأثير على وظائف المحرر إكس والذي قام بدوره بالتأثير على محرر النصوص الشهير في آي ومن المعلوم أيضاً أن الأمر "grep" المعروف في عالم يونكس كان قد استلهم من استخدامات خاصة في كيو إد ولاحقاً من إد حيث أنه وبشكل عام تمثل حروف اسم الأمر "grep" عملية البحث في النصوص على أجزاء تمثل نمط تعبيري معين ومن ثم طباعة السطور التي تحوي التعبير المراد إيجاده و من الجدير ذكره أيضاً هو قيام محرر النصوص سيد بتطبيق العديد من الوظائف الموجودة في كيو إد والتي لم يتم تطبيقها في إد على أنظمة يونكس وعليه كان لسيد دور كبير في تصميم لغة البرمجة المعروفة «أوك» والتي بدورها أثرت وبشكل كبير على لغة البرمجة المعروفة بيرل. ميزات إد تتضمن: و يشتهر إد باختصاراته في التعامل مع المستخدمين حيث أنه تقريبأ لا يقوم باعطاء نتائج مرئية للوظائف التي يقوم بتنفيذها أو رسائل الأخطاء، على سبيل المثال فإن الرسالة التي يقوم إد بإظهارها في حالة حدوث خطأ معين أثناء تنفيذ أمر هي طباعة الإشارة "?" وكذلك الأمر في حالة التأكد من قيام المستخدم بإنهاء عملية التحرير. و من المعلوم أن إد لا يدعم بشكل تلقائي إظهار اسم الملف المحرر أو سطر النص أو حتى أظهار نتائج التغيير على النصوص إلا في حال تم تحديد ذلك، هذه الاختصارات كانت مناسبة وفي مكانها في الانطلاقات الأولى ليونكس ويرجع السبب في ذلك إلى ضعف العتاد المرئي لأجهزة الحاسوب في ذلك الوقت حيث أنه لم يكن متطوراً كما هو عليه الآن بالإضافة إلى أن الذاكرة الرئيسية لم تكن بالحجم المتعارف عليه في الوقت الحاضر من حيث الكم الذي تستطيع تخزينه من البيانات والمعلومات، ولهذا السبب ومع تطور العتاد المرئي لأجهزة الحاسب فقد أصبحت المحررات المرئية هي المحررات المعيارية في الوقت الحاضر. تعد الاستخدامات التفاعلية لإد قليلةً في الوقت الحاضر ولكنه يستخدم في بعض البرامج النصية "Shell Scripts" ويندرج إد تحت محررات النصوص مثل في آي وإيماكس، ونظراً لتواجده في جميع أنظمة يونكس وتوزيعات لينكس يعتبر إد محرر النصوص الوحيد الذي يمكن استخدامه في هذه الأنظمة في حالة حدوث خطأ أو في حالة عدم وجود محررات نصوص أخرى في النظام مما يجعل وجوده في هذه الأنظمة ضرورياً بشكل نسبي. تم تقليد أوامر إد ومصطلحاته الوظيفية في عدد من محررات النصوص الأخرى مثل إدلين وذلك في أنظمة إم إس-دوس القديمة وفي أنظمة ويندوز إن تي العاملة على هيكلية 32 بت. و كمثال لاستخدام إد في تحرير النصوص نسرد المقطع التالي ونرجو الانتباه إلى أن الأوامر والنصوص التي يكتبها المستخدم تم تمييزها بالخط العادي ومخرجات إد تم تمييزها بالخط الغليظ: النتيجة النهائية لأوامر المثال هي ملف بسيط يحوي النص التالي: يبدأ المثال بمعالجة ملف فارغ حيث أن الأمر a يقوم بإلحاق أو إلصاق النصوص ببعضها البعض (من المفيد أن نذكر هنا أم جميع أوامر إد هي عبارة عن أحرف وحيدة فقط) كما يقوم الأمر أيضاً بوضع إد على نمط الإدخال بحيث يقوم بإدخال الحروف تباعاً ويتوقف عند طباعة النقطة على السطر "."، والسطرين اللذين تم طباعتهما قبل النقطة يتم إدخالهم المنطقة المخصصة لتحرير الملف على الذاكرة الرئيسية "File Buffer"، يقوم الأمر 2i أيضاً بإعلام إد استخدام وضع أو نمط الإدخال ومن ثم سيقوم بإدخال النص (سطر فارغ في مثالنا هذا) قبل السطر رقم 2، ومن الجدير ذكره أنه بالإمكان سبق الأمر برقم لمعالجة السطر الذي يمثل ذلك الرقم. في السطر %l الحرف "l" (الحرف الصغير من الحرف L) يعني تنفيذ امر «السرد» (List) وتم سبق الأمر بنطاق ليتم معالجة النص ضمن هذا النطاق وفي هذه الحالة تمثل إشارة % اختصاراً للنطاق $,1 والنطاق هو الفرق بين رقمي سطرين مفصولين بفاصلة أنجليزية "," وإشارة "$" تعني الرمز لآخر سطر في الملف، وبناءً عليه فإن إد سيقوم بسرد أو إظهار جميع السطور من أول سطر إلى اَخر سطر (و يمكن تجريب ذلك بتبديل الرقم 1 برقم آخر ويمكنك أيضاً تبديل "$" برقم آخر). و عند إدخال السطر الفارغ في السطر رقم 2 فإن السطر المكتوب فيه «هذا السطر رقم اثنان» سيصبح في السطر الثالث وتم تبديل كلمة «اثنان» بكلمة «ثلاثة» في المثال للدلالة على ذلك ويظهر ذلك جلياً في الأمر /ثلاثة/اثنان/3s وهو أمر يفيد تبديل الكلمات حيث يتم تفسيره كالاَتي: و يفصل بين الأمر والاَخر الفاصلة الأنجليزية "," ولذلك نرى وكجزء من الأمر "l%," ويعني ذلك أنه بعد تنفيذ أمر الاستبدال سيتم القيام بتنفيذ أمر «السرد» (List). الأمر "w text