از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استفاده از Sed برای افزودن یک خط جدید در انتهای هر خط
سرفصلهای مطلب
sed مخفف ویرایشگر جریان است که برای عملیات ویرایش اولیه استفاده می شود روی متنی که از یک فایل یا روی ورودی که مستقیماً از دستور دیگری به sed ارسال می شود. مانند معیارهای ورودی آن، sed می تواند process یک فایل ورودی و خروجی را به برنامه دیگری بدهید (چون مستقیماً از برنامه های دیگر ورودی می گیرد). می توان از آن برای ردیابی همان کلمه ای که در یک سند استفاده می شود به روش های مختلف استفاده کرد و کاربران می توانند آنها را برای درک بهتر تنظیم کنند. همانطور که پایه و اساس sed است روی یک ویرایشگر متن است اما می توان از آن برای نوشتن اسکریپت های پیچیده نیز استفاده کرد. با این حال، عملیات اولیه ای که یک دستور sed می تواند انجام دهد در زیر فهرست شده است:
- برای چاپ خط
- کلمات را در یک خط یا در یک فایل متنی پیدا کنید و جایگزین کنید
- خطی که حاوی یک کلمه خاص است را حذف کنید
- خط/متن را بعد از هر خط اضافه کنید (با مشخص کردن شماره خط)
- قبل از شروع هر خط یا قبل از هر خط خاصی یک خط اضافه کنید
ابزار دستوری sed اوبونتو چندین عملیات برای انجام دارد. راهنمای امروز ما تمرکز خواهد کرد روی اضافه کردن متن در انتهای هر خط در هر فایل متنی.
بنابراین، قبل از دریافت بینش در مورد این آموزش، بیایید نحو اصلی دستور sed را درک کنیم:
نحو
گزینه های دستور sed برای دریافت خروجی در چندین فرمت استفاده می شود. به عنوان مثال، گزینه “-i” برای ذخیره تغییرات (ناشی از دستور sed) در فایل اصلی استفاده می شود. بخش “فرمان” این نحو شامل عملیات اصلی دستور sed است که میخواهید با استفاده از این دستور انجام دهید (ویرایش، حذف یا چاپ خط). در نهایت، “فایل برای ویرایش” از نام فایل تشکیل شده است روی که دستور sed در حال اعمال است.
روش نصب sed روی اوبونتو
در اکثر توزیعهای لینوکس، sed با دسترسی داخلی همراه است. می توانید نسخه sed را برای بررسی موجود بودن آن تهیه کنید روی سیستم شما یا نه دستور زیر را در آن بنویسید terminal برای تأیید وجود sed روی اوبونتو شما:
در صورتی که sed موجود نباشد روی اوبونتو شما؛ با اجرای دستور زیر می توانید آن را با استفاده از مدیریت بسته نصب کنید:
روش اضافه کردن خط جدید به انتهای هر خط
همانطور که عمل انجام خواهد شد روی یک فایل متنی خاص؛ بنابراین، شما باید یک فایل متنی ایجاد کنید و متنی به آن اضافه کنید، یا می توانید sed را اعمال کنید روی هر فایل متنی موجود نیز (مطمئن شوید که فایل حاوی اطلاعات مهمی نباشد در غیر این صورت ممکن است در حین آزمایش اطلاعات را از دست بدهید):
ما یک فایل متنی ایجاد کرده ایم “test.txt” روی دسکتاپ ما (شما می توانید از هر دایرکتوری استفاده کنید) و چند خط متن به آن اضافه کرد. بیایید محتوای “test.txt” روی را terminal با استفاده از دستور زیر نوشته شده است:
اکنون از دستور sed برای اضافه کردن یک خط استفاده می کنیم.شما در حال کار هستید terminal از اوبونتو” به هر خط در فایل ”test.txt”؛ بنابراین، دستور زیر به انجام این عمل کمک می کند:
لازم به ذکر است که “آکلمه کلیدی در اینجا برای الحاق متن نوشته شده بعد از آن به هر خط از فایل استفاده می شود.test.txt”:
مشاهده خواهید کرد که نتیجه چاپ شده است روی را terminal، اما فایل اصلی “test.txt” بدون تغییر باقی می ماند. اگر می خواهید در فایل اصلی نیز تغییرات ایجاد شود. شما باید از گزینه “-i” استفاده کنید همانطور که ما این کار را با استفاده از دستور زیر انجام داده ایم:
جدا از افزودن به هر خط، دستور sed به شما این امکان را می دهد که متن را به هر خط خاصی اضافه کنید. به عنوان مثال، دستور زیر متن را فقط به خط شماره 3 اضافه می کند و تغییرات در فایل اصلی نیز اعمال می شود:
همچنین می توان نتیجه هر دستور sed را در فایل دیگری ذخیره کرد. برای مثال، دستور زیر نتیجه را در فایل متنی جدید “output.txt” ذخیره می کند.
نتیجه
sed یک است command-line ابزاری که به عنوان ویرایشگر جریان شناخته می شود و می تواند برخی از عملیات های اساسی را انجام دهد روی فایلی مانند جستجو، جایگزینی، درج یا حذف. جدا از این عملیات اساسی، می توان از آن برای اسکریپت نویسی پیچیده نیز استفاده کرد: بنابراین، گفته می شود که کاربر مبتدی ممکن است در یادگیری این موضوع تردید کند. در واقع یادگیری و پیاده سازی دستور sed در سطح پایه آسان است و کاربران جدید برای انجام عملیات فوق باید این کار را امتحان کنند. با دانستن اهمیت sed، ما این راهنما را گردآوری کردهایم تا راههای الحاق خط یا کلمات جدید را در انتهای هر خط نشان دهیم. علاوه بر این، کاربران نیز می توانند این کار را انجام دهند روی یک شماره خط خاص با ذکر شماره در دستور.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 07:27:05