كيفية استخدام Sed في Linux

سد لتقف على محرر تيار. إنه محرر سطر أوامر لنظام Linux. الاستخدام الشائع لـ sed هو تحرير الملف (الملفات) كجزء من برنامج نصي للأتمتة في Linux ، حيث تتطلب المحررات المعتادة إدخال مستخدم نشط ولا يمكنها تحرير الملفات خارج شاشات المحرر. يستخدم Sed بشكل شائع لإجراء بحث واستبدال من سطر الأوامر.

يمكن أيضًا تصنيف هذا النوع من محرر النصوص على أنه محرر نصوص غير تفاعلي.

دعونا نرى بعض الخيارات الشائعة لتحرير الملفات باستخدام Sed. سوف نأخذ الملف التالي كمثال:

$: cat test.txt قفز كلب بني سريع فوق القط الكسول. نظام تشغيل لينوكس. الغابة القريبة من مكاني بها قطة وكذلك ذئاب. 

بحث واستبدال

للبحث عن سلسلة في ملف واستبدالها بسلسلة أخرى ، قم بتشغيل:

sed -i "s / cat / fox / g" test.txt

هنا ، -أنا العلم يوجه sed لكتابة التغييرات على الملف. بدون هذا العلم ، سيد سيعرض فقط الملف مع السلسلة المتغيرة.

في الاقتباسات ، لدينا ق / قطة / ثعلب / ز. ال س هو للبحث واستبدال الأمر سيد. ثم لدينا السلسلة المراد البحث عنها ، وهي قط. ثم الخيط الذي سيحل محله ، أي الثعلب. أخيرًا ، لدينا الخيار الاختياري زالذي يرشد سيد لاستبدال جميع التكرارات في جميع سطور الملف. بدون ال ز، سوف يستبدل sed فقط التواجد الأول لـ قط في كل سطر.

يمكن أيضًا استخدام Regex هنا.

sed -i "s / f [a-z] * \ ./ cat \ ./ g"

إدراج

لإدراج نص قبل سطر بسلسلة متطابقة ، استخدم:

sed -i "/ cat / i Start:" test.txt

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

وبالمثل ، لإدراج نص بعد السطر ، استخدم:

sed -i "/ fox / a End." test.txt

حذف

لحذف سطر يحتوي على سلسلة فرعية ، استخدم:

sed -i "/ Linux / d" test.txt

لحذف سطر برقم سطر ، على سبيل المثال. السطر الأول ، استخدم:

sed -i '1d' test.txt

الجمع بين وظائف متعددة

للجمع بين وظائف متعددة ، على سبيل المثال. بحث واستبدال ، حذف ، في أمر واحد ، -e يمكن استخدام العلم.

sed -i -e "s / fox / cat / g" -e '2d' test.txt

? هتافات!