تكنولوجيا

كيفية استخدام sed Stream Editor لتعديل النص باستخدام التعبيرات العادية – CloudSavvy IT

عاجلاً أم آجلاً ، سيقوم كل مستخدم للكمبيوتر في العالم بتعديل سلاسل النص يدويًا أو تلقائيًا.تعرف على محرر تيار Sed، يمكنك من إجراء تعديلات نصية مجمعة على السلاسل والملفات.

التعبير العادي في سطر الأوامر

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

للتحقق من توفر sed في توزيع Linux ، اكتب sed --version في سطر الأوامر:

نسخة محرر تيار Sed

إذا كان إصدارك أقدم قليلاً من الإصدار المعروض هنا ، فلا داعي للقلق. بالنسبة للأمثلة التي نناقشها هنا ، ستكون بالتأكيد جيدة.إذا لم تكن الأداة متوفرة في التوزيع الخاص بك ، يمكنك استخدام sudo apt put in sed يُستخدم لأنظمة التشغيل المستندة إلى Ubuntu / Debian ، أو sudo yum set up sed يُستخدم لأنظمة التشغيل المستندة إلى RedHat / RPM.

sed استخدم التعبيرات العادية أو التعبيرات العادية لتطبيق تحويلات نصية صغيرة. التعبيرات العادية عبارة عن نموذج وطريقة تستخدم لتمثيل عمليات بحث واستبدال وتعديل أكثر تعقيدًا تستند إلى النص بتنسيق لا يزال من السهل فهمه. التعبيرات العادية معقدة وقد تصعب قراءتها للمبتدئين. يمكنك قراءة دليلنا “كيف تستخدم Regex بالفعل” لمزيد من المعلومات حول كيفية قراءة وكتابة Regex.

ذات صلة: كيف تستخدم التعابير النمطية بالفعل؟

لأغراض هذه المقالة ، سوف نلتزم بالتعبيرات العادية التي يسهل فهمها وقراءتها. على سبيل المثال ، ما يلي هو بديل بسيط:

مرحبًا Cloudsavvyit Fan Transformation

كما ترى ، قمنا بترديد جزء صغير من النص ثم قمنا بتحويله باستخدام أداة sed. استخدمنا الأمر sed (البديل) sed وأشرنا إلى ما نريد تغييره.يمكنك أن تقرأ بطريقة أخرى s|from|to| حيث “|” هو الفاصل بين الأقسام / الحقول ، و “s” هو الأمر ، و “من” و “إلى” هما الخياران اللذان يتم تمريرهما إلى الأمر “s”.

لذلك ، قمنا بتحويل “عشاق تكنولوجيا المعلومات المحترفين في السحابة”! إلى “مرحبًا معجبين cloudavvyit.com!” قم بتغيير جزء فقط من النص باستخدام محرر تدفق sed. لنلق نظرة على مثال أكثر تعقيدًا.

استخدم محرر دفق sed لتحويل النص في الملف

هنا ، نستخدم أولاً echo أمر إعادة التوجيه إلى الملف (“>” ينشئ ملفًا جديدًا ، إذا كان اسم الملف هو نفسه ، تتم الكتابة فوق الملف ، ويتم إلحاق “>>” بالملف بدون أي تعديل آخر).بعد ذلك ، نستخدم cat أمر.

بعد ذلك ، نستخدم محتوى الملف المحول. sed استخدم الأدوات مباشرة. تحقيقا لهذه الغاية ، حددنا الخيار “-i” لتحديد الملف المراد تحريره. تعليمات تحويل النص الفعلية هي نفسها كما كانت من قبل. أخيرًا ، نحدد اسم الملف في نهاية الأمر. بعد ذلك ، نتحقق من محتويات الملف ونلاحظ أن مدخلاتنا قد تغيرت.

كما بدأت في رؤية التجربة السابقة أو تعلمت منها ، هناك العديد من الميزات المتوفرة في أداة sed.

دعنا نضيف بعض المرح للأشياء من خلال توسيع التعبيرات العادية وكتابة تعليمات تحويل النص sed:

تعابير عادية أكثر تعقيدًا وتعليمات sed

في هذا المثال ، نستخدم الحرف “h” بدلاً من “H_” ، وكلاهما عالميًا (لاحظ المؤهل “g” بالقرب من نهاية التعليمة الأولى التي تم تمريرها إلى sed) وبطريقة غير حساسة لحالة الأحرف (لاحظ “i” ) تم استبداله. المؤهل أيضًا في نهاية التعليمات الأولى). حتى إذا كان الملف يحتوي على “H” بسبب المؤهل “i” ، فإنه سيتطابق مع “h”.

بعد ذلك ، نبدأ في تنفيذ تعليمة جديدة (تنتهي التعليمات / تنتهي بـ “؛” ، تمامًا مثل العديد من لغات البرمجة الأخرى) ، في هذه التعليمات ، نحذف “.com” عن طريق البحث الأساسي ونستبدلها بـ .com “.

لاحظ أيضًا كيف نستخدم فواصل خيارات المجال / الأوامر المختلفة. في المثال الأول ، استخدمنا “|” بشكل عام ، هذا فاصل مجال سهل الاستخدام وغير مألوف إلى حد ما. يستخدم العديد من الأشخاص “/” ، على الرغم من أنه قد يتسبب في حدوث مشكلات عند حل أسماء المسارات التي تحتوي عادةً على “/”.

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

استخدم sed مع الملفات

دعنا نستكشف مثالًا آخر قائمًا على sed ، حيث نقوم بحقن نص في الملف:

استخدم محرر تدفق sed لحقن النص

في هذا المثال ، نقوم بإنشاء ملف مكون من 5 أسطر ، ثم نستخدم تعليمة sed أكثر تعقيدًا بعض الشيء لإدخال فاصل “-” بعد كل سطر ثاني. على الرغم من أن القواعد توضح القواعد النحوية بشكل أساسي ، إلا أنه من المثير للاهتمام أن الأمر “r” (قراءة من ملف / نص ملحق) يحدد اسم ملف الحقن مباشرةً ، ولا يزال موجودًا في التعليمات الرئيسية بدون أي فاصل.

يمكنك أيضًا أن تبدأ في ملاحظة أنه بالإضافة إلى تعلم قواعد التعبير العادي ، من المفيد تعلم قواعد اللغة بعمق. يشبه الأمر تقريبًا تعلم لغتين أجنبيتين جديدتين ، ولكن الميزة هي أن قواعد اللغة الخاصة سوف تنمو مع حاجتك إلى تعقيدات أخرى.

دعنا ندرس مثالاً يتم فيه استبدال منطقة نصية معينة بمحتوى آخر:

استخدم sed لتعديل منطقة نص معينة

في هذا المثال ، نبحث عن النص “3” ثم نستبدل “C” بالحرف “Z” لذلك السطر. سوف تفهم الغرض من sed.

أخيرًا ، يمكننا النظر في تحليل أنواع أخرى من المدخلات:

استخدم sed لتحليل الأنواع الأخرى من إدخال النص

كما ترى ، أنشأنا 3 ملفات واستخدمناها ls أمر. بعد ذلك ، نستخدم هذا الإخراج كمدخل إلى sed (باستخدام أمر Linux pipe “|”) ونحول جزءًا من قائمة الدليل إلى شرطات سفلية.

محرر دفق sed هو أداة متعددة الوظائف يمكن أن تساعدك في تحليل وتحويل كل النص تقريبًا مباشرة من سطر أوامر المحطة ، بغض النظر عما إذا كان الإدخال يأتي من نص بسيط. echo البيانات أو أدوات Linux الأخرى أو ملفات النص العادي. من فضلك استمتع!

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى