الحمد لله و الصلاة و السلام على رسول الله و آله و أصحابه و من إتبع هداه.
#تتمة للموضوع السابق حول المحرر إد
المحرر إد يستخدم غالبا على الأجهزة التي لا تدعم طور ملئ الشاشة و أيضا يستخدم داخل قرص صغير الحجم مثل
flopy drive.
أو في حالة تعطل النظام .ولا يوجد غيره.
كما قلنا في الموضوع السابق. يتم تشغيل البرنامج بأحد هذه الطرق
ed [-] [-G] [-s] [-pprompt-string] [filename]
اللاحقة - تعني تشغيل المحرر بدون إظهار أي شيء على الشاشة.
-G
هذه اللاحقة تحعل المحرر يدعم النسخ القديمة منه.
-s
نفس لاحقة -.يعني عدم إ إظهار أي شيء على النافذة.
-p prompt-string
أو فقط
-p
خاصية تفعيل إظهار المؤشر على الشاشة.
filename
إسم ملف المشروع
** على هذا النحرر يوجد طورين
*** طور الأوامر
و
*** طور إدخال النص
هذا محرر السطر. يعني تعامل مع السطر الحالي.و كل سطر يحمل عنوان يعني رقم.
مثلا لطباعة العشر سطور الأول.نقوم بالآتي
1,10p
في طور الأوامر النقطة
.
تعني السطر الحالي.
وعلامة
$
تعني آخر سطر.ما يعني هذا الأمر سيقوم بالحذف من السطر الحالي إلى آخر سطر
.,$d
سنقوم الآن بالعمل على ملف تجريبي.لتطبيق كل ما تعلمناه و نضيف خصائص جديدة.
ed -p : test1
محتوى الملف
327
:,n
1 hello world
2 hello nation
3 hello folks
4 this a line number 1
5 hello world
6 hello nation
7 hello folks
8
9 #this a line number 2
10 this a line number 3
11 this a line number 4
12 this is another line.
13 this a line number 1
14 #this a line number 2
15 this a line number 3
16 this a line number 4
17 this is another line.
18 hope for the best
19
20 plan for the worse
الرقم ٣٢٧ يعني عدد الأحرف بالملف.
النقطتين : تساعدنا لتميز بين طور الأوامر و طور الإدخال.
الأمر
,n
لطباعة كل محتوى الملف مع ترقيم السطور.
عندما نفتح ملف للتعديل عليه.السطر الحالي هو آخر سطر.لتعرف رقم السطر الحالي. نطبق
.=
20
ما يعني الملف يحتوي على ٢٠ سطر.
لطباعة جميع السطور
1,20p
hello world
hello nation
hello folks
this a line number 1
hello world
hello nation
hello folks
#this a line number 2
this a line number 3
this a line number 4
this is another line.
this a line number 1
#this a line number 2
this a line number 3
this a line number 4
this is another line.
hope for the best
plan for the worse
للذهاب إلى سطر معين.نكتب رقم السطر
:5
hello world
لنقل أننا نريد حذف السطر الذي يحتوي على كلمة
folks.
:/folks
hello folks
هذا السطر يصبح هو السطر الحالي. لخذفه يكفي فقط تطبيق الأمر
:d
:
لإستبدال كلمة بأخرى نستخدم الأمر
s
لإستبدال كلمة folks بكلمة Fox
نذهب أولا للسطر الثالث ثم نطبق
:3
:s/folks/Fox/
لإدخال نص قبل السطر الحالي.
نطبق الأمر
i
ثم نكتب ما نريد ثم نضع نقطة للخروج من طور الإدخال.
i
this is a line above the current line
.
عندها ستظهر النقطتين
:
ما يعني أن المحرر رجع إلى طور الأوامر.
عندما تنتهي من جميع التعديلات و تريد خفظ العمل.نطبق الآتي
:wq
315
المحرر سيقوم بحفظ التغيرات و طباعة عدد حروف الملف و الخروج منه.
- هذا مختصر لأهم الأوامر
علامة $
تعني الذهاب إلى آخر سطر في الذاكرة
ed -p : test1
315
:p
plan for the worse
:1
hello world
:$
plan for the worse
:.=
19
- ! cmd
علامة التعجب ثم أمر . خاصية لتشغيل أوامر لينكس أو شيل سكريبت من داخل إد
:!date
Thu Apr 14 06:11:25 WET 2022
علامة %
يتم تطبيق الأمر الذي يأتي بعدها على جميع السطور في الذاكرة.
%p
طباعة جميع محتوى الملف.
- علامة زائد +
الإنتقال إلى السطر القادم
:15
this a line number 4
:n
15 this a line number 4
:+
this is another line.
:n
16 this is another line.
:
+n(number)
التقدم بسطر أو أكثر
:8
#this a line number 2
:+2
this a line number 4
:n
10 this a line number 4
:
-
علامة فاصلة
-
,
-
هي نفس علامة
-
%
-
يعني تطبيق الأمر الذي يأتي بعدها على جميع محتوى الذاكرة
-
(buffer)
-
لأن إدلايعمل على الملف الحقيقي
-
علامة ناقص أو ما يسمى هايفن
-
-
تعني الرجوع لسطر السابق
:n
10 this a line number 4
:+
this is another line.
:n
11 this is another line.
:-
this a line number 4
:n
10 this a line number 4
- علامة
- /regex/
- أو مايسمى التعابير النمطية
- تفيد للبحث عن كلمة للأمام و تطبع أول نتيجة مطابقة.
:,n
1 hello world
2 hello nation
3 hello folks
4 this a line number 1
5 hello world
6 hello nation
7
8 #this a line number 2
9 this a line number 3
10 this a line number 4
11 this is another line.
12 this a line number 1
13 #this a line number 2
14 this a line number 3
15 this a line number 4
16 this is another line.
17 hope for the best
18
19 plan for the worse
:1
hello world
:/folks/
hello folks
:n
3 hello folks
:
- هذا الأمر
- =
- لطباعة عدد السطور بالملف
:=
19
:
- هذه العبارة
*?regex?
خاصية للبحث عن كلمة في السطور السابقة. يعني البحث يكون للخلف
:n
19 plan for the worse
:?folks?
hello folks
:n
3 hello folks
:
-
أمر a
-
لإضافة محتوى بعد السطر الحالي
-
أمر c
-
لتغير سطر
-
أمر d
-
للحذف
-
e file
-
لتعديل ملف من داخل المحرر إد
-
f file
-
لتغير إسم ملف من داخل المحرر
-
أمر h
لإظهار آخر رسالة خطأ
*أمر H
لتفعيل خاصية ظهور رسائل الأخطاء
*أمر i
لإدخال نص قبل السطر الحالي
- تعليم سطر معين بأي حرف
kv
نضع الأمر
k
ثم حرف .بعد ذلك يمكن طباعة السطر هكذا
'v
:n
5 hello world
:kv
:3
hello folks
:n
3 hello folks
:'v
hello world
:n
5 hello world
:
توجد مسائل أخرى لم أتطرق لها
ربما موضوع لاحق.