في نظام لينكس أغلب اﻹعدادات تكون داخل ملفات نصية, وبعض اﻷحيان نكون بحاجة إلى كتابة نص جديد داخل تلك الملفات في اﻷسفل لكن يتحتم علينا كتابة ذالك عبر نافذة اﻷوامر (Terminal
).
في هذه المقالة سنرى الكثير من الطرق التي تسمح لنا بكتابة النص داخل أي ملف نصي وبدون فقدان النص الموجود, يعني الكتابة أسفل الملف واﻹحتفاظ بالنص الموجود.
الكتابة عن طريق الأمر tee:
اﻷمر tee
يقوم بنسخ النص الذي تمت طباعته, ولصقه في الملف الذي حددناه له.
في الحالة اﻷولى: سيقوم بنسخ النص المطبوع www.ab9or.com
ولصقه في الملف text1
, و أيضا قمنا بإضافة الخاصية -a
بعد اﻷمر tee
لكي يقوم باﻹحتفاظ بالنص السابق و إضافة النص الجديد أسفل الملف. كما في صورة أسفله.
echo 'www.ab9or.com' | tee -a text1

في الحالة الثانية: سيقوم بنسخ النص الموجود في الملف text2
ولصقه في الملف text1
, و أيضا قمنا بإضافة الخاصية -a بعد اﻷمر tee
لكي يقوم باﻹحتفاظ بالنص السابق الموجود في الملف text1
و إضافة النص الجديد أسفله. كما في صورة أسفله.
cat text2 | tee -a text1

للتذكير: في كلتا الحالتين قمنا بإضافة الخاصية -a
بعد اﻷمر tee
ودورها هو اﻹحتفاظ بالنص السابق الموجود في الملف text1
و إضافة النص الجديد أسفله.
الكتابة عن طريق الرمز >>:
الرمز >>
يقوم بنسخ النص الذي تمت طباعته, ولصقه في الملف الذي حددناه له, وإذا لم يجد الملف المحدد سيقوم بإنشائه, وإذا كان موجود سيقوم بالكتابة أسفل النص السابق.
في الحالة اﻷولى: سيقوم بنسخ النص www.ab9or.com
المطبوع باﻷمر echo
ولصقه في الملف text1
.
قمنا بطباعة النص و بعدها قمنا بإضافة الرمز >>
لكي يقوم باﻹحتفاظ بالنص السابق و إضافة النص الجديد أسفل الملف. كما في صورة أسفله.
echo 'https://www.ab9or.com' >> text1

أيضا يمكننا استعمال اﻷمر printf
للطباعة النص, لكن لا ننسى إضافة \n
في نهاية السطر لكي ينتقل مؤشر الكتابة للسطر جديد.
مثال:
printf "www.ab9or.com\n" >> text1
أيضا يمكننا استعمال اﻷمر cat
للنسخ النص الموجود في الملف text2
ولصقة في الملف text1
, كما في الصورة أسفله.
cat text2 >> text1

ملاحظة مهمة: الرمز >>
ليس هو >
,الرمز >
يقوم بمسح النص السابق بالكامل وإضافة النص الجديد مكانه, أما الرمز >>
فيقوم باﻹحتفاظ بالنص السابق وإضافة النص الجديد أسفله.