كيفية استبدال عدة أسطر باستخدام الأمر `sed`

How Replace Multiple Lines Using Sed Command



يتطلب أحيانًا استبدال أسطر متعددة من الملف بأي حرف أو نص معين. توجد أوامر مختلفة في Linux لاستبدال أسطر متعددة من الملف. الأمر 'sed' هو واحد منهم للقيام بهذا النوع من المهام. الشكل الكامل لـ 'sed' هو محرر Steam ، ويستخدم بشكل أساسي لقراءة النص وتحويله بطرق مختلفة باستخدام تعبير عادي. يتم شرح كيفية استخدام هذا الأمر لاستبدال الأسطر المتعددة للملف بطرق مختلفة في هذا البرنامج التعليمي.

ورقة الغش `sed` شائعة الاستخدام:

يتم شرح الأحرف الأكثر استخدامًا في الأمر `sed` في الجدول التالي.







اختلاف الشخصيات غرض
إلى يتم استخدامه لإلحاق المحتوى.
ب يتم استخدامه لتفرع المحتوى.
ج يتم استخدامه لتغيير المحتوى.
د يتم استخدامه لحذف سطر من الملف.
د يتم استخدامه لحذف السطر الأول من الملف.
ز كانت تستخدم لنسخ من النص المحتجز.
جي يتم استخدامه للإلحاق من النص المحتجز.
ح يتم استخدامه لنسخ النص المحتجز.
ح يتم استخدامه لإلحاق النص المحتجز.
أنا يتم استخدامه للإدخال.
أنا يتم استخدامه لطباعة السطر البديل.
ن يتم استخدامه للانتقال إلى السطر التالي.
ن يتم استخدامه لإلحاق سطر الإدخال التالي.
ص يتم استخدامه للطباعة.
ص يتم استخدامه لطباعة السطر الأول.
ماذا او ما يتم استخدامه للإقلاع عن التدخين.
س يتم استخدامه للإقلاع على الفور.
ص يتم استخدامه لقراءة الملف.
ر يتم استخدامه لقراءة السطر من الملف.
س يتم استخدامه كبديل.
ر يتم استخدامه لاختبار الاستبدال.
تي يتم استخدامه لاختبار عدم وجود بديل.
في يتم استخدامه للكتابة إلى الملف.
في يتم استخدامه لكتابة سطر إلى الملف.
x يتم استخدامه لمبادلة الأنماط والاحتفاظ بها.
و يتم استخدامه للترجمة.
مع يتم استخدامه لمسح الخط.
'=' يتم استخدامه لطباعة رقم السطر.

استبدل عدة أسطر باستخدام الأمر `sed` من المحطة:

يتم عرض كيفية استخدام الأمر `sed` لاستبدال الأسطر المتعددة من ملف من المحطة في هذا الجزء من هذا البرنامج التعليمي. قم بإنشاء ملف باسم sed.txt مع المحتوى التالي ، اختبر أوامر هذا الجزء.



sed.txt



الشكل الكامل لـ sed هو محرر التدفق.





إنها أداة مساعدة يونكس تُستخدم لقراءة وتحويل النص بتنسيق مختلف.

تم تطويره بواسطة Lee E. McMahon.



يتم استخدامه لمعالجة النصوص.

يدعم التعبيرات العادية.

مثال 1: استبدال سطرين متتاليين

سيستبدل الأمر 'sed' التالي سطرين متتاليين بسطر آخر. هنا ، يتم استخدام الخيار -z لاستبدال الأسطر المتتالية ببيانات فارغة قبل إضافة النص البديل. وفقا للأمر ، 3بحث وتطويرو 4ذسيتم استبدال سطور الملف بالنص ، 'إنها أداة مفيدة للغاية' .

$قطsed.txt
$سيد -مع تم تطويره بواسطة Lee E. McMahon. n يتم استخدامه للنص
المعالجة. / إنها أداة مفيدة للغاية. / '
sed.txt

سيظهر الإخراج التالي بعد تشغيل الأوامر.

مثال 2: استبدل عدة أسطر بناءً على المطابقة والعلم العالمي

سيستبدل الأمر `sed` التالي جميع الأسطر التي تبدأ بالكلمة ، 'هو - هي' بالكلمة ، يتم استبدال هذا الخط '.

$قطsed.txt
$سيد 's / ^ It. * / تم استبدال هذا الخط / g'sed.txt

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

مثال 3: استبدل عدة أسطر بناءً على أمر المطابقة وأمر السطر التالي

سيحل الأمر 'sed' التالي محل الكلمة ، يكون بالكلمة ، كنت 'بأمر السطر التالي ،' n '.

$قطsed.txt
$سيد '{n؛ / is / {s / is / was /}}'sed.txt

سيظهر الإخراج التالي بعد تشغيل الأوامر. هنا، 'يكون' موجود في 2اختصار الثانيو 4ذأسطر الملف ، ويتم تعديل هذه الأسطر بالكلمة 'كنت' .

استبدل عدة أسطر بإنشاء ملف البرنامج النصي `sed`:

في الأمثلة السابقة ، تم تنفيذ أوامر `sed` من المحطة. لكنها لغة برمجة نصية ، وإذا كان النص يحتوي على عبارات متعددة ، فمن الأفضل إنشاء ملف sed مع البرنامج النصي. قم بإنشاء ملف نصي باسم الطلاب. txt بالمحتوى التالي الذي سيتم فيه تطبيق البرنامج النصي 'sed'.

الطلاب. txt

المعرف: 111045
الاسم: روبرت
القسم: CSE
الدفعة: 35

الرقم: 111876
الاسم: يوسف
القسم: BBA
الدفعة: 27

المعرف: 111346
الاسم: ويليام
القسم: CSE
الدفعة: 45

الرقم: 111654
الاسم: تشارلز
القسم: EEE
الدفعة: 41

المعرف: 111346
الاسم: جون
القسم: CSE
الدفعة: 25

المعرف: 111746
الاسم: توماس
القسم: CSE
الدفعة: 15

مثال 4: استبدال أسطر متعددة من ملف باستخدام ملف البرنامج النصي 'sed'

قم بإنشاء ملف sed المسمى بـ استبدال بالمحتوى التالي لاستبدال الأسطر المتعددة بناءً على نمط البحث. هنا ، كلمة محرك بحث مخصص سيتم البحث في الملف النصي ، وإذا كان هناك تطابق ، فسيتم البحث مرة أخرى عن الرقمين 35 و 15. إذا كانت المطابقة الثانية موجودة في الملف ، فسيتم استبدالها بالرقم 45.

استبدال

/محرك بحث مخصص/ {
ع ؛ ن ؛
/35/ {
س/35/أربعة خمسة/؛
ع ؛ د ؛
}
/خمسة عشر/ {
س/خمسة عشر/55/؛
ع ؛ د ؛
}
}
ص ؛

قم بتشغيل الأمر التالي للتحقق من المحتوى الموجود للملف. ظهر 'CSE' أربع مرات في الملف النصي. 35 و 15 موجودان في مكانين.

$قطالطلاب. txt

سيحل الأمر التالي محل محتوى الأسطر المتعددة بناءً على البرنامج النصي sed.

$سيد -Freplace.sed الطلاب. txt

سيظهر الإخراج التالي بعد تشغيل الأمر.

استنتاج

تم عرض طرق مختلفة لاستبدال عدة أسطر أو محتوى الأسطر المتعددة باستخدام الأمر `sed` في هذا البرنامج التعليمي. يتم عرض كيفية تنفيذ البرنامج النصي `sed` من ملف sed أيضًا في هذا البرنامج التعليمي. آمل أن يساعد هذا البرنامج التعليمي القارئ على استبدال أسطر متعددة من أي ملف باستخدام الأمر `sed`.