وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش حذف خطوط خالی با استفاده از sed

0 15
زمان لازم برای مطالعه: 3 دقیقه


دو روش ممکن برای حذف خطوط خالی از یک فایل متنی با استفاده از sed وجود دارد. روش‌ها در زیر فهرست شده‌اند و در بخش بعدی این راهنما به تفصیل مورد بحث قرار گرفته‌اند.

  • روش 1: چگونه تمام خطوط خالی یک فایل متنی را با استفاده از sed حذف کنیم
  • روش 2: روش حذف خطوط خاص از فایل متنی با استفاده از sed

روش 1: چگونه با استفاده از sed تمام خطوط خالی یک فایل متنی را حذف کنیم

قبل از کاوش در عمق این روش، بیایید نحو حذف خطوط خالی با استفاده از sed را درک کنیم:

نحو

sed [options]/^$/d’ [file name]

/^$/d‘ بخش اصلی این دستور است. جایی که “^نماد نشان می دهد که حذف باید از ابتدا به معنای از خط اول اجرا شود. “$” نشان می دهد که باید تا آخرین خط فایل متنی پیش برود و ”د” نشان می دهد که حذف در حال انجام است.

این بخش شما را راهنمایی می کند تا تمام خطوط یک فایل متنی را با کمک ویرایشگر جریان (sed) حذف کنید:

ما یک فایل متنی ایجاد کرده ایم “delete.txt; ابتدا محتوای این فایل را با استفاده از ” دریافت کنیدگربهدستور ” مطابق زیر داده شده است و ما از ” استفاده کرده ایم-n” با آن گزینه، به طوری که ما می توانیم شماره خطوط را نیز بدست آوریم:

مشاهده می شود که خطوط خالی متعددی وجود دارد و زیبایی شناسی این فایل متنی را تحت تاثیر قرار می دهد و خوانندگان ممکن است به چنین مطالبی توجه نکنند.

$ گربه -n delete.txt

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

بنابراین، برای جلوگیری از وضعیت فوق الذکر؛ شما باید خطوط خالی را حذف کنید تا خواندن ساده شود process; دستور ذکر شده در زیر تمام این خطوط را از ” حذف می کند.delete.txt” فایل.

پیشنهاد می‌کنیم بخوانید:  روش اشکال زدایی a bash اسکریپت؟

اکنون می توانید متوجه شوید که خطوط خالی شسته شده اند و فقط آن خطوطی چاپ می شوند که حاوی متن هستند، اما نتیجه فقط نمایش داده می شود. روی terminal در حالی که فایل اصلی ثابت می ماند:

$ sed/^$/d’ delete.txt

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

اگر می خواهید خطوط خالی را حذف کنید و فایل اصلی را نیز به روز کنید، باید از گزینه in-place استفاده کنید.-من” و دستور زیر به شما در انجام این کار کمک می کند:

$ sed -من/^$/d’ delete.txt

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

روش 2: روش حذف خطوط خالی انتخاب شده در یک فایل متنی با استفاده از sed

دستور حذف خطوط خاص در یک فایل متنی در زیر نوشته شده است:

نحو

sed [options](شماره خط)d’ [filename]

بخش اصلی نحو روی که فرمان متکی است این است(خط-شماره)d’”؛ شما باید شماره خط دقیق خط خالی را در ” قرار دهید(شماره خط)“و نامه”د” نشان می دهد که شماره خط درج شده حذف خواهد شد:

با استفاده از دستور sed می توانید برخی از خطوط خاص را در یک فایل متنی حذف کنید. ما یک فایل متنی جدید ایجاد کرده ایم “new.txt” برای این بخش به عنوان مثال، خروجی دستور زیر شماره خط را نشان می دهد.2” خالی است:

$ گربه -n newfile.txt

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

و اگر می خواهید دستور حذف این خط را اجرا کنید، باید شماره خط را مانند دستور زیر مشخص کنید:

$ sed “2d” newfile.txt

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

همچنین می توانید خطوط متوالی را با استفاده از این روش حذف کنید. به عنوان مثال “new.txtفایل دارای 3 خط خالی است4،5،6” همانطور که در تصویر زیر قابل مشاهده است:

$ گربه -n new.txt

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

برای حذف این سه خط متوالی؛ باید درج “،” بین شماره خط شروع و پایان همانطور که در دستور زیر مشاهده می شود:

$ sed4,6d’ new.txt

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

در نهایت، می توانید از گزینه in place نیز استفاده کنید-من” برای ذخیره دائمی تغییرات در فایل زیرا بدون این گزینه دستور sed نتیجه را چاپ می کند روی را terminal همانطور که دستور بالا را برای استفاده از آن با ” تغییر دادیم-من” گزینه:

$ sed -من4,6d’ new.txt

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

نتیجه

اوبونتو از چندین روش برای دستکاری داده ها در یک فایل متنی پشتیبانی می کند. برای مثال، می‌توانید از ویرایشگر متن پیش‌فرض اوبونتو، ویرایشگر نانو و غیره استفاده کنید. با این حال، ابزار خط فرمان sed اوبونتو به دلیل عملکردهایی مانند دسترسی به فایل از طریق terminal و بدون باز کردن آن تغییرات ایجاد کنید. در این مقاله از دستور sed برای حذف خطوط خالی از فایل متنی استفاده کرده ایم و دو روش برای این عمل شرح داده ایم. “روش 1” مخصوصاً زمانی مناسب است که صدها خط در یک فایل متنی دارید و می خواهید همه خطوط خالی را یکجا حذف کنید: از طرف دیگر،روش 2” برای حذف خطوط خالی در یک سند کوچک مناسب است که می توانید خطوط را یکی یکی حذف کنید. با این حال، اگر می خواهید دنبال کنید، باید خودتان به دنبال خطوط خالی بگردید.روش 2”: بنابراین، اگر مقایسه بین هر دو روش انجام شود،روش 1“بیشتر عمل می کند”روش 2” در مورد حذف خطوط خالی.

پیشنهاد می‌کنیم بخوانید:  روش استفاده از Find Command در Bash Script

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-30 13:04:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید