كيف تكتب إلى ملف في باش

How Write File Bash



إحدى المهام الأساسية التي نقوم بها أثناء العمل مع برمجة bash هي قراءة الملفات وكتابتها. في هذا الدليل ، سنركز على كيفية قراءة الملفات في bash وكيفية تحريرها.

هناك عدة طرق لقراءة الملف وكتابته في bash. إن أبسط طريقة هي استخدام عوامل التشغيل> و >>.







  • > سوف عامل الكتابة فوق البيانات الموجودة
  • >> سيُلحق العامل البيانات

الشكل العام لاستخدام عوامل إعادة التوجيه هو:



البيانات> اسم الملف
البيانات >> اسم الملف

دعونا نفهم عملية الكتابة إلى إجراء ملف مع مثال:



كيفية كتابة ملف باستخدام عوامل إعادة التوجيه

كما نوقش أعلاه ، فإن الأسلوب البسيط والمباشر للكتابة إلى ملف هو استخدام عوامل إعادة التوجيه. على سبيل المثال ، إذا كنت تريد تغيير نص ملف موجود بالفعل ، فقم أولاً بإنشاء ملف نصي باسم testfile.txt واكتب أي شيء فيها:





احفظ الملف النصي.



اكتب الأمر المذكور أدناه في الجهاز:

echo $ الكتابة فوق النص الموجود في الملف> testfile.txt

قد يكون التعصر المفرط محفوفًا بالمخاطر ؛ لذلك ، من الممارسات الجيدة تمكين noclobber. سيؤدي تعيين noclobber إلى منع أي الكتابة فوق أي ملف خارج.

$ set –o noclobber
echo $ الكتابة فوق النص الموجود في الملف> testfile.txt

ولكن إذا كنت تريد تجاوز noclobber ، فاستخدم > | بدلا من > :

صدى $ الكتابة فوق النص الموجود في الملف> | testfile.txt

أو يمكنك ببساطة تعطيل noclobber:

مجموعة + أو noclobber

لكن هذا الأمر سيأخذ الحماية من جميع الملفات.

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

صدى $ إلحاق نص بالملف النصي الموجود >> testfile.txt

رما - طرد - قذف ليس دائمًا مثاليًا للاستخدام نظرًا لأنه لا يمكنك تنسيق النص باستخدامه ، لذلك استخدم printf بدلاً من echo لتنسيق النص كما هو موضح في الأمر التالي:

مرحبًا $ printf n هذا ملف نصي جديد. > newtestfile.txt

دعونا نفهم المفهوم بمثال نص برمجي باش. افتح Vim بكتابة vim في الجهاز. إذا لم يكن لديك محرر Vim على جهازك ، فقم بتثبيته باستخدام:

sudo apt install vim

اكتب البرنامج النصي:

#! /bin/bash
صدى أدخل اسمك
اقرأ الاسم
صدى اسم $> data_dir.txt
صدى أدخل عمرك
قراءة العمر
صدى $ age >> data_dir.txt
cat data_dir.txt

ال قط يتم استخدام الأمر لإنشاء الملفات وتحريرها. احفظ البرنامج النصي أعلاه في Vim عن طريق تبديل الوضع بعد الضغط على ملف خروج مفتاح ثم اكتب : في myscript.sh . افتح الجهاز وقم بتشغيل الكود:

كيفية كتابة ملف باستخدام Heredoc

إذا كنت تريد كتابة أسطر متعددة ، فإن أسهل طريقة هي استخدام Heredoc. المستند هنا ، المعروف أيضًا باسم Heredoc ، عبارة عن كتلة تعليمات برمجية متعددة الأغراض. صيغة Heredoc هي:

أمر<<[-] Delimiter
.
نص / أوامر
.

محدد

يمكن استخدام أي سلسلة بدلاً من المحدد ، و- يمكن أيضًا استخدامها لإزالة أي مسافات جدولة في الملف. دعونا نفهمها باستخدام مثال بسيط:

#! /bin/bash

قط<< TEXTFILE
هذا ملف نصي.
يتم إنشاء هذا الملف باستخدام heredoc.
ملف نصي

يقوم الأمر النصي cat أعلاه بإنشاء ملف نصي باسم TEXTFILE ، وكتابة نص في الملف الذي تم إنشاؤه للتو. الآن احفظ الملف باسم myscript.sh . قم بتشغيل المحطة وتشغيل البرنامج النصي.

كيفية كتابة ملف باستخدام الأمر Tee

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

صدى $ هذا نص | tee textfile.txt

لإلحاق استخدام –a:

صدى $ هذا نص آخر | tee –a textfile.txt

لكتابة سطور متعددة ، استخدم:

صدى $ إضافة نص إلى ملفات متعددة | tee textfile1.txt textfile2.txt textfile3.txt

سيقوم الأمر أعلاه بإنشاء ثلاثة ملفات إذا لم تكن موجودة وكتابة نص إلى كل منها.

استنتاج

يركز هذا الدليل على طرق متعددة للكتابة إلى ملف في bash مع أمثلة. في البرمجة النصية bash ، توجد عدة طرق لكتابة ملف ، ولكن أبسطها هو استخدام عوامل إعادة التوجيه> ، >>. لكتابة أسطر متعددة ، يمكن استخدام heredoc ، وإذا كنت تريد كتابة نفس البيانات إلى عدة أسطر ، فإن الأمر tee مفيد للغاية.