محرر الدفق (SED): الأساسيات

Mhrr Aldfq Sed Alasasyat



يعد SED، المعروف أيضًا باسم محرر التدفق، أداة مفيدة جدًا. يتم استخدامه للبحث عن كلمة أو نمط معين ومن ثم القيام بشيء ما بالكلمة أو النمط أو بمعنى آخر تحويله. في نظام التشغيل Windows، يُعرف SED أيضًا بوظيفتي 'البحث' و'الاستبدال'. يأتي SED مزودًا بنظام Ubuntu، لذا ليست هناك حاجة لتثبيت أي شيء؛ فقط ابدأ في استخدامه. سنوضح لك في هذا البرنامج التعليمي كيفية استخدام SED أو محرر البث.

الأمر 'س'.

أهم الأوامر في SED أو محرر الدفق هو الأمر 's'. 's' تعني البديل. بناء الجملة هو كما يلي:







/ regexp / إستبدال / أعلام


لذلك، دعونا نستخدم ملف يسمى 'file.txt' للحصول على الأمثلة. إليك ما يبدو عليه 'file.txt' إذا التقطته:




لنستخدم مثالاً لتوضيح كيفية عمل الأمر 's':



لكن / أولاً / قمر / أنا ملف.txt > moon.txt


عندما يتم إعطاء مثل هذا التعبير، فهذا يعني:





    • ق - انها تقف على بديل.
    • أولاً – الكلمة المراد البحث عنها في الملف المسمى “file.txt”.
    • القمر - تم استبدال كلمة 'الأول' بكلمة 'القمر'.
    • ط - إنها تعني التجاهل. سوف نتجاهل هذا الجزء للجزء الأول.
    • file.txt - الملف الذي سيبحث فيه SED عن النمط أو الكلمة. وفي هذه الحالة تكون كلمة 'الأول' هي:
    • بحثت في file.txt

    • moon.txt – عند استبدال كلمة 'الأول' بكلمة 'القمر'، سيتم حفظها ضمن 'moon.txt'.

إذًا، ما الذي يحدث هنا؟ يستبدل SED كلمة 'الأول' بكلمة 'القمر' في الحالة الأولى فقط (وهذا يعني أنه إذا تكررت كلمة 'الأول' عدة مرات، فلن يتم استبدالها بالكامل أو استبدالها عدة مرات). الملف الذي يبحث عنه يسمى 'file.txt' وبمجرد إجراء التحويل أو الاستبدال، سيتم حفظه تحت 'moon.txt'.



هذا هو ما يبدو:


من فضلك تذكر وضع '/' حيث يجب أن يكون. إذا حذفت '/'، فلن يقبل SED الأمر.

حتى الآن، قمنا فقط باستبدال كلمة 'أولاً' بكلمة 'واجه' مع الاستبدال. الآن، لنفترض أننا نريد استبدال كلمة 'خط' (التي تتكرر عدة مرات - أربع مرات على وجه التحديد) في السطر الثالث بكلمة 'ملاك'.

كيف نستهدف هذا الخط الثالث على وجه التحديد؟ نستخدم الأمر التالي:

لكن '3ث / خط / ملاك / أنا ملف.txt > angel.txt


إذن، ماذا حدث هنا؟ حسنًا، الرقم '3' يحدد رقم السطر. ولذلك، فإنه يذهب إلى السطر الثالث. ثم استبدل كلمة 'سطر' بكلمة 'angel' في الملف المسمى 'file.txt' واحفظ الملف المحول باسم 'angel.txt'.


ماذا لو أردنا استبدال أو تحويل الخطين '3' و'4'؟

لكن ' 3 ،4ث / خط / ملاك / أنا ملف.txt > angel2.txt



لاحظ أنه في المثال السابق، استخدمنا علامة 'i' للتجاهل. الآن، نستخدم علامة 'g' للإشارة إلى العالمية.

لنستخدم مثالاً لتوضيح كيفية عمل الأمر 's':

لكن / خط / شمس / g' file.txt > sun.txt


عندما يتم إعطاء مثل هذا التعبير، فهذا يعني:

يشير الحرف 'g' إلى كلمة 'عالمية'. تذكر أنه في المثال الأول، عندما نستخدم العلامة 'i'، لا يوجد سوى بديل واحد. والآن بعد أن أضفنا الحرف 'g' إلى الكلمة 'عالمي'، فهذا يعني الاستبدال في كل مكان. لذلك، بدلًا من قول السطر الأول والسطر الثاني والسطر الثالث والسطر الأخير، تقول الشمس الأولى والشمس الثانية والشمس الثالثة والشمس الأخيرة. فهو يستبدل سطر الكلمة في الملف بأكمله (في كل مكان) بكلمة 'الشمس'.


الآن، ماذا لو أردنا تحديد سطر واحد بناءً على الكلمة التي يحتوي عليها؟ حسنًا، يمكننا أن نرى أن السطر الأخير من 'file.txt' يحتوي على كلمة 'last' بداخله. الآن، لنفترض أننا نريد 'هذا هو السطر الأخير. هذه هي الجملة الأخيرة.' الجملة لتصبح 'هذا هو الشبح الأخير. هذه هي الجملة الأخيرة.'

نكتب ما يلي:

لكن ' / آخر / س / خط / شبح / 'ملف.txt > شبح.txt


'الأخير' هنا يخبر SED بالبحث عن السطر الذي يحتوي على كلمة 'الأخير' ثم استبدال كلمة 'سطر' بكلمة 'شبح' داخل هذا السطر.


الآن، لنفترض أننا نريد أن نفعل العكس. لنفترض أننا نريد كل سطر بدون كلمة 'الأخير' أن يتم تغيير كلمة 'سطر' إلى 'شبح'. لنكتب ما يلي:

لكن ' / آخر /! س / خط / شبح / 'ملف.txt > Ghost2.txt


كما ترون هنا، كل سطر باستثناء السطر الأخير (الذي يحتوي على كلمة 'الأخير') تم استبدال كلمة 'سطر' بكلمة 'شبح'.


يمكننا أيضًا القيام بذلك باستخدام أرقام الأسطر:

لكن ' 3 , 4 ! س / خط / ليلة / أنا ملف.txt > night.txt


في هذه الحالة، تم حذف السطرين 3 و 4 ولكن كل سطر آخر تم استبدال كلمة 'سطر' بكلمة 'ليل'.

أوامر متعددة

الآن، ماذا لو كان لديك أوامر متعددة؟ هل تفضل القيام بذلك واحدة تلو الأخرى أم دفعة واحدة وتوفر على نفسك بعض الوقت والعمل؟

ماذا لو أردنا تغيير كلمة 'الأول' إلى 'نهار'، و'الثاني' إلى 'ليل'، و'الباقي' إلى 'شبح'؟ نستخدم الفاصلة المنقوطة للقيام بذلك. لا تنس أن تضع الفاصلة المنقوطة في النهاية!

يرجى ملاحظة أنه ليس عليك مطلقًا وضع علامة 'i' أو علامة 'تجاهل' ولكن يجب عليك تمامًا وضع الشرطة المائلة (/) بعد عبارة التحويل.

والآن دعونا نتحقق من ذلك بمثال:

لكن / أولاً / يوم / ; س / ثانية / ليلة / ; س / ثالث / شبح / ; س / آخر / شبح / ؛' ملف.txt > combin.txt


خاتمة

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

ترميز سعيد!