هناك عدة طرق لقراءة الملف وكتابته في bash. إن أبسط طريقة هي استخدام عوامل التشغيل> و >>.
- > سوف عامل الكتابة فوق البيانات الموجودة
- >> سيُلحق العامل البيانات
الشكل العام لاستخدام عوامل إعادة التوجيه هو:
البيانات> اسم الملف
البيانات >> اسم الملف
دعونا نفهم عملية الكتابة إلى إجراء ملف مع مثال:
كيفية كتابة ملف باستخدام عوامل إعادة التوجيه
كما نوقش أعلاه ، فإن الأسلوب البسيط والمباشر للكتابة إلى ملف هو استخدام عوامل إعادة التوجيه. على سبيل المثال ، إذا كنت تريد تغيير نص ملف موجود بالفعل ، فقم أولاً بإنشاء ملف نصي باسم testfile.txt واكتب أي شيء فيها:
احفظ الملف النصي.
اكتب الأمر المذكور أدناه في الجهاز:
echo $ الكتابة فوق النص الموجود في الملف> testfile.txt
قد يكون التعصر المفرط محفوفًا بالمخاطر ؛ لذلك ، من الممارسات الجيدة تمكين noclobber. سيؤدي تعيين noclobber إلى منع أي الكتابة فوق أي ملف خارج.
$ set –o noclobberecho $ الكتابة فوق النص الموجود في الملف> testfile.txt
ولكن إذا كنت تريد تجاوز noclobber ، فاستخدم > | بدلا من > :
صدى $ الكتابة فوق النص الموجود في الملف> | testfile.txtأو يمكنك ببساطة تعطيل 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 مفيد للغاية.