اگرچه روش‌های مختلفی برای اضافه کردن متن به انتهای یک فایل در لینوکس وجود دارد، اما ساده ترین روش این است که خروجی فرمان را به نام فایل مورد نظر خود هدایت کنید. با استفاده از کاراکتر “<<” می‌توانید، نتیجه هر دستور را در یک فایل متنی وارد نمایید. در این مقاله جزئیات این روش شرح داده شده است.

راه‌های دیگر برای رسیدن به این هدف، استفاده از ابزارهای لینوکس مانند tee، awk و sed است؛ که در این جا به آن ها پرداخته نمی شود.

 

هدایت خروجی فرمان یا داده‌ها به انتهای فایل

هر سیستم عامل مبتنی بر یونیکسی مفهوم "یک مکان پیش فرض برای وارد کردن اطلاعات خروجی" را دارد که به آن “standard output” یا “stdout” (استاندارد خروجی) گفته می‌شود. پوسته لینوکس شما (احتمالاً bash یا zsh) دائماً آن مکان خروجی پیش فرض را کنترل می‌کند. هنگامی‌که پس از اجرای یک دستور، خروجی جدیدی را مشاهده می‌کند، آن را روی صفحه چاپ می‌نماید؛ تا بتوانید آن را ببینید.

با استفاده از عملگر “<<” می‌توان آن خروجی را به یک فایل راهنمایی کرد.

روند کار به صورت زیر است:

اضافه کردن متن به انتهای فایل با استفاده از دستور echo:

echo 'sample text line' >> filename.txt

اضافه کردن خروجی فرمان به انتهای فایل:

command >> filename.txt

 

اضافه کردن خطوط متنی به انتهای فایل

برای اضافه کردن چندین خط به انتهای یک فایل یا باید آن خطوط متنی را با استفاده از کاراکتر هدایت “>>” به فایل اضافه کنیم یا اینکه داده و خروجی دستور را در یک فایل متنی بنویسیم که در این صورت اگر چنین فایلی وجود نداشت با اجرای این دستورفایل ایجاد می‌شود.

به عنوان مثال:

echo "sample line" >> test.txt $
cat test.txt $
sample line

echo "sample line 2" >> test.txt $
cat test.txt $
sample line
sample line 2

 

اضافه کردن نتیجه خروجی دستور به پایان فایل

شما می‌توانید داده را به انتهای فایل خود اضافه کنید یا اینکه دستور را اجرا کرده و خروجی را به فایل مورد نظر خود اضافه نمایید. در مثال زیر، ما از دستور date برای اضافه کردن تاریخ جاری به یک فایل، دستور uname برای نمایش نسخه هسته سیستم لینوکس و دستور ls برای چاپ ساختار دایرکتوری کنونی استفاده کرده‌ایم.
به طور کلی می‌توان از هر دستوری که نتایج آن در ترمینال قابل نمایش است، یعنی تقریباً تمام ابزارهای خط فرمان در لینوکس، در این روش استفاده نمود.

date >> test.txt $
cat test.txt $
sample line
sample line 2
Tue Jun 25 20:28:51 UTC 2019

uname -r >> test.txt $
cat test.txt $
sample line
sample line 2
Tue Jun 25 20:28:51 UTC 2019
3.13.0-170-generic

ls >> test.txt $
cat test.txt $
sample line
sample line 2
Tue Jun 25 20:28:51 UTC 2019
3.13.0-170-generic
test.txt

 

 

منبع:

linoxide