استبدال سلسلة نصية في الملف [Guide]

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

استبدال سلسلة نصية في الملف – sed

أداة sed هي أفضل طريقة لاستبدال سلسلة نصية في ملف على نظام Linux. السبب؟ إنه سهل الاستخدام ويقوم بعمله بشكل جيد للغاية. عادةً ما يتم تثبيت Sed مسبقًا على 99٪ من أنظمة تشغيل Linux ، لذلك لا داعي لتثبيته لاستخدامه.

يتم استبدال سلسلة نصية في ملف بـ Sed باستخدام الأمر sed -i. إليك كيفية استخدامه. أولاً ، افتح نافذة طرفية على سطح مكتب Linux. يمكنك فتح نافذة طرفية بالضغط على Ctrl + Alt + T على لوحة المفاتيح.

بمجرد فتح نافذة المحطة وجاهزة للاستخدام ، اكتب sed -i في موجه الأوامر. هذه بداية أمر الاستبدال.

sed -i

بعد كتابة الأمر sed -i ، أضف علامة اقتباس. تعتبر علامة الاقتباس هذه ضرورية ، حيث يجب أن يبدأ كل النص الذي يتم استبداله بـ sed -i بعد هذه العلامة.

sed -i '

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

sed -i 's/

الآن بعد أن تمت كتابة s / في موجه سطر الأوامر الطرفي ، فقد حان الوقت لإخبار sed ما هو النص الذي يجب استبداله في الملف. في هذا المثال ، سنستبدل كلمة “تفاحة”.

sed -i 's/apple

عندما يتم كتابة النص الذي نريد استبداله في الأمر ، فإن الخطوة التالية هي الكتابة في النص الجديد الذي سيحل محله. في هذا المثال ، سنستبدل كلمة “تفاح” بكلمة “برتقال”.

sed -i 's/apples/oranges

بمجرد كتابة النص الذي نريد استبداله في الأمر (البرتقال) ، أغلق الأمر بـ g /. يخبر g / sed أن يستبدل كل مثيلات النص (التفاح) بالنص الجديد (البرتقال). يجب أن يبدو مثل المثال أدناه.

  التبديل تلقائيًا من WiFi إلى بيانات الهاتف المحمول عندما تكون الإشارة منخفضة

ملاحظة: إذا كنت لا تريد استبدال كل نص في الملف (من التفاح إلى البرتقال ، على سبيل المثال) ، فقم بإزالة g وجعله يعمل كـ sed -i ‘s / apples / oranges /’ بدلاً من ذلك.

sed -i 's/apple/orange/g'

أخيرًا ، أخبر sed ما هو الملف الذي يحتاج النص إلى استبداله. في هذا المثال ، يعد الملف Fruit.txt في الدليل الرئيسي هو الهدف.

sed -i 's/apples/oranges/g' ~/fruit.txt

اضغط على مفتاح الإدخال لتنفيذ الأمر واستبدال السلسلة النصية في الملف.

استبدال سلسلة نصية في الملف – Perl

هناك طريقة أخرى لاستبدال سلسلة نصية في ملف على Linux وهي لغة برمجة Perl. تُستخدم لغة Perl كثيرًا في معالجة النصوص ، لذا فمن الطبيعي أن تتمكن من تبديل السلاسل النصية في الملفات وهي مثالية لحالة الاستخدام هذه.

  كيف ترى كل شيء يعرفه فيسبوك عنك

للبدء ، تأكد من تثبيت Perl على كمبيوتر Linux الخاص بك. تأتي معظم أنظمة تشغيل Linux مثبت عليها Perl. ومع ذلك ، إذا لم يكن لديك ، فتحقق من صفحة تعليمات نظام التشغيل للحصول على معلومات حول كيفية تشغيله.

يتطلب استخدام Perl لاستبدال سلاسل نصية في ملف المحطة الطرفية. افتح Terminal على سطح مكتب Linux بالضغط على Ctrl + Alt + T على لوحة المفاتيح. أو ابحث عن “Terminal” في قائمة التطبيقات وقم بتشغيلها بهذه الطريقة.

بمجرد فتح نافذة المحطة الطرفية وجاهزة للاستخدام ، ابدأ بكتابة perl -pe في موجه سطر الأوامر. الأمر perl -pe هو المطلوب لاستبدال سلسلة نصية في ملف.

perl -pe

عند كتابة perl -pe في موجه الأوامر ، ستحتاج إلى البدء بعلامة الاقتباس الأولى. تخبر هذه العلامة Perl بمكان منطقة استبدال النص في الأمر.

perl -pe '

بعد علامة الاقتباس الأولى ، أضف s / ، متبوعة بسلسلة النص الذي ترغب في استبداله ، وأخرى /. على سبيل المثال ، لاستبدال “apples” في ملف fruit.txt ، يجب كتابة النص التالي.

perl -pe 's/apples/

بعد كتابة الكلمة (الكلمات) التي ترغب في استبدالها ، أضف الكلمة التي ستحل محل النص الحالي. على سبيل المثال ، إذا كنت تريد استبدال كلمة “apples” في “fruit.txt” بـ “oranges” ، فأضف “oranges” بعد perl -pe ‘s / apples / بحيث تبدو مثل perl -pe’ s / apples / oranges / .

perl -pe 's/apples/oranges/

بمجرد أن تصبح كلتا سلسلتي النص في الأمر ، ستحتاج إلى تحديد ملف الإدخال الذي تستخدمه Perl. على سبيل المثال ، إذا كنت تريد استبدال النص في ملف “fruit.txt” ، فستحتاج إلى تحديده في الأمر.

  كيفية تمكين المصادقة الثنائية وتأمين حسابك على Ring

ملاحظة: في هذا المثال ، يوجد ملف “fruit.txt” في الدليل الرئيسي (~ /). تأكد من استبدال “~ / fruit.txt” بموقع الملف النصي حتى يعمل الأمر.

perl -pe 's/apples/oranges/' ~/fruit.txt

الآن بعد أن تمت إضافة ملف الإدخال (الملف الذي تعدله باستخدام Perl) إلى الأمر ، يجب أن يبدو الأمر كما هو أدناه.

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

عند تشغيل الأمر أعلاه ، سيتم استبدال السلسلة النصية بالنص الجديد الذي حددته. في مثالنا ، استبدلنا كلمة “تفاح” بكلمة “برتقال”. لعرض التغييرات ، أدخل الأمر أدناه.

cat fruit.txt