7 طرق لإضافة نص إلى ملف على Linux

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




قم بإنشاء ملف نصي أولاً!

لمتابعة البرنامج التعليمي، يجب أن يكون لديك ملف اختبار جاهز حيث يمكنك إضافة أسطر ورؤية النتيجة. لإنشاء ملف فارغ على Linux، قم بتشغيل الأمر أدناه:

touch 

يستبدل مع اسم الملف. على سبيل المثال، سنسميه append.txt. يمكننا إنشاء الملف باستخدام هذا الأمر:

touch append.txt

يعرض طرفية Linux أمر اللمس لإنشاء ملف نصي فارغ

لرؤية محتوى الملف، قم بتشغيل:

cat append.txt

لن تحصل على أي نتائج حيث لا يوجد محتوى في الملف حاليًا. الآن بعد أن أصبح لدينا ملف فارغ، يمكننا إضافة بعض الأسطر إليه.

1. استخدام الصدى لإضافة نص إلى ملف

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


echo (OPTION) (STRING)

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

echo "string" > filename

استبدل “string” بنص فعلي داخل علامتي الاقتباس المزدوجتين. افعل نفس الشيء بالنسبة لـ “filename”. على سبيل المثال، إذا كنت ترغب في إضافة النص “This is a file” إلى append.txt، فقم بتشغيل:

echo "This is a file" > append.txt

الآن إذا حاولت قراءة محتوى الملف باستخدام الأمر cat، يجب أن ترى السطر يظهر في الإخراج.

يُظهر طرفية Linux كيفية استخدام أمر echo لإضافة نص إلى ملف


ومع ذلك، باستخدام عامل إعادة توجيه واحد (>)، لن تتمكن من إضافة أسطر إلى الملف. إذا حاولت إضافة سطر آخر إلى الملف أعلاه باستخدام نفس الأمر، فسيؤدي ذلك إلى تجاوز المحتوى الحالي للملف. دعنا نرى ذلك عمليًا. قم بتشغيل الأمر أدناه:

echo "Trying to append a line to the file" > append.txt

محطة طرفية لنظام Linux تعرض كيف يمكن لأمر echo تجاوز محتوى ملف نصي

إذن كيف يمكن التغلب على هذه المشكلة؟ الأمر بسيط. لإضافة بعض النصوص إلى ملف دون تجاوز محتواه، استخدم عامل إعادة توجيه آخر (>>)، مثل هذا:

echo "Trying to append a line to the file" >> append.txt

يُظهر الطرفية Linux استخدام أمر echo لإضافة سطر إلى ملف نصي


هذه المرة، سيتم إضافة السطر إلى الملف، كما هو متوقع.

2. استخدام cat لإضافة نص إلى ملف

كما رأينا سابقًا، يعرض الأمر cat محتوى ملف على المحطة الطرفية. الصيغة الأساسية للأمر هي:

cat (OPTION)... (FILE)...

على عكس أمر echo، لا يمكن لأمر cat استخدام أي سلاسل كمعلمات بشكل مباشر. بدلاً من ذلك، يمكنك إلحاق محتويات ملف بملف آخر. للقيام بذلك، استخدم الأمر على النحو التالي:

cat file1 >> file2

استبدل “file1″ و”file2” بأسماء الملفات الفعلية. لذا، في مثالنا السابق، يمكننا إلحاق محتوى ملف آخر بملف append.txt باستخدام:

cat anotherfile.txt >> append.txt

محطة طرفية لنظام Linux تُظهر استخدام الأمر cat لدمج محتويات ملفات مختلفة


هناك طريقة أخرى جيدة لاستخدام الأمر cat وهي ربط محتويات ملفات متعددة في ملف واحد. للقيام بذلك، حدد أسماء الملفات كحجج، مثل هذا:

cat file1 file2 file3 >> file4

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

cat employee1.txt employee2.txt employee3.txt >> employees.txt

يُظهر لك الطرفية في Linux كيفية استخدام الأمر cat لدمج محتويات عدة ملفات وإضافتها إلى ملف آخر

3. استخدام printf لإضافة نص في نهاية الملف

قد تكون على دراية بـ printf إذا كانت لديك خبرة في لغة البرمجة C. ولكن هل تعلم أن printf هي أداة Linux أيضًا؟ وكما يوحي الاسم، فهي تتيح لك طباعة النص أو البيانات إلى الإخراج القياسي. إليك الصيغة الأساسية:


printf FORMAT (ARGUMENT)...

لإضافة نص إلى ملف باستخدام printf، قم بتشغيل:

printf "Using printf to append text" >> append.txt

محطة طرفية لنظام Linux تعرض استخدام الأمر printf لإضافة نص إلى ملف

ومع ذلك، كما ترى، على عكس أمر echo، لم تتم إضافة سطر جديد إلى النص. وهذا يعني أنه يتعين عليك القيام بذلك يدويًا. يمكنك استخدام حرف الإفلات “\n” في نهاية النص. لذا فلنستخدمه الآن.

printf "Using printf to append text with a new line\n" >> append.txt

يُظهر لك محطة Linux كيفية استخدام حرف سطر جديد باستخدام الأمر printf


هذه المرة، يكون موجه المحطة الطرفية في سطر جديد، على عكس الحالة السابقة.

4. استخدام sed

يقوم الأمر sed، وهو اختصار لـ stream editor، بإجراء تحويلات نصية أساسية على المدخلات. هناك طرق متعددة لاستخدام هذا الأمر. يبدو بناء الجملة الأساسي لإضافة نص إلى الملفات على النحو التالي:

sed (OPTION) (SCRIPT) (FILE...)

لنرى الآن كيف يمكنك إضافة سطر إلى ملف. للقيام بذلك، اتبع تنسيق الأمر التالي:

sed -i '$ a\' 

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

sed -i '$ a Do not feel sed' append.txt

محطة طرفية لنظام Linux تُظهر استخدام الأمر sed لإضافة سطر في نهاية الملف


يخبر الخيار “-i” النظام بأنه سيستخدم الملف المعني لإدراج النص. تعني علامة “$” أن السطر سيضاف إلى نهاية الملف. إن إضافة “a” أمام النص يخبر النظام بأننا نريد إضافة السطر إلى المحتوى الموجود في الملف.

من الأشياء الجيدة في الأمر sed أنه يمكنك إضافة نص في أي مكان في الملف. على سبيل المثال، إذا كنت تريد إضافة شيء بعد السطر الرابع، فاستخدم الأمر على النحو التالي:

sed -i '4 a Appended after the fourth line' append.txt

محطة طرفية لنظام Linux توضح الأمر sed المستخدم لإضافة سطر نصي إلى موضع معين في ملف

هذه المرة، تمت إضافة السطر بعد السطر الرابع تمامًا.


5. استخدام tee لإضافة نص إلى ملف

يتيح لك الأمر tee القراءة من الإدخال القياسي وكتابة الإخراج في الملفات. الصيغة الأساسية هي كما يلي:

tee (OPTION)... (FILE)...

هناك طريقتان لإضافة نص إلى ملف باستخدام الأمر tee. إما استخدام الخيار “-a” أو عامل إعادة التوجيه المزدوج. دعنا نلقي نظرة على الطريقة الأولى.

tee -a append.txt

بعد تنفيذ الأمر، ستدخل إلى الوضع التفاعلي. يمكنك كتابة أي نص والضغط على Enter لإضافته إلى الملف. عند القيام بذلك، سترى نفس النص كما تم إخراجه على الجهاز الطرفي. للخروج من موجه الأوامر، اضغط على Ctrl+D.

محطة طرفية لنظام Linux تُظهر استخدام الأمر tee لإضافة سطر إلى ملف

في الطريقة الأخرى، لن يكرر الجهاز الطرفي السلسلة التي كتبتها، مما يجعل العملية أكثر نظافة. وبخلاف ذلك، تعمل بنفس الطريقة. إليك الأمر:


tee >> append.txt

محطة طرفية لنظام Linux تعرض استخدام الأمر tee لإضافة سطر إلى ملف

كما ترى، عندما كتبنا سلسلة، لم يتم عرضها في المحطة الطرفية مرة أخرى.

6. استخدام awk

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

awk 'BEGIN{print "Feeling awkward"}' >> append.txt

محطة طرفية لنظام Linux تعرض كيفية استخدام الأمر awk لإضافة سطر إلى ملف


في المثال أعلاه، استخدمنا قاعدة BEGIN الخاصة بأمر awk لطباعة بعض النصوص وإرسالها إلى ملفنا المستهدف باستخدام عوامل إعادة التوجيه.

7. استخدام محرر النصوص لإضافة نص

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

لفتح ملف في nano، استخدم الأمر أدناه:

nano 

محتوى الملف المسمى append.txt الذي تم فتحه في برنامج محرر النصوص Nano

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


لإضافة سطر، كل ما نحتاج إلى فعله هو استخدام مفتاح السهم لأسفل للانتقال إلى أسفل الملف. إذا كنت بحاجة إلى إنشاء سطر جديد، فافعل ذلك بالضغط على Enter. ثم أدخل أي نص تريده. أخيرًا، احفظ الملف باستخدام Ctrl+O واخرج من المحرر باستخدام Ctrl+X.

كيفية إعادة توجيه إخراج الأمر إلى ملف

إذا كنت تريد حفظ ناتج أمر ما في ملف، فيمكنك القيام بذلك باستخدام عوامل إعادة التوجيه (>>). لنفترض أنك قمت بتشغيل الأمر ls للحصول على محتويات الدليل الحالي. تريد حفظ القائمة في ملف يسمى command.txt. للقيام بذلك، قم بتشغيل الأمر أدناه:

ls >> command.txt

محطة طرفية لنظام Linux توضح كيفية حفظ مخرجات أمر ما في ملف باستخدام مشغلات إعادة التوجيه

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


كيفية إضافة الإخراج القياسي والخطأ القياسي إلى ملف

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

command >> file.txt 2>&1 

بدلاً من حقل “الأمر”، تحتاج إلى كتابة أمر محدد تريد التقاط مخرجاته. 1 و2 عبارة عن أوصاف ملفات للمخرجات القياسية والخطأ القياسي على التوالي. نستخدم أيضًا علامة & للإشارة إلى أن ما يأتي قبل وبعد عامل إعادة التوجيه عبارة عن أوصاف ملفات وليس أسماء ملفات.

تجربة أفضل للتعامل مع ملفات Linux

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

أضف تعليق