از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش حذف خطوط خالی با استفاده از sed
سرفصلهای مطلب
دو روش ممکن برای حذف خطوط خالی از یک فایل متنی با استفاده از sed وجود دارد. روشها در زیر فهرست شدهاند و در بخش بعدی این راهنما به تفصیل مورد بحث قرار گرفتهاند.
- روش 1: چگونه تمام خطوط خالی یک فایل متنی را با استفاده از sed حذف کنیم
- روش 2: روش حذف خطوط خاص از فایل متنی با استفاده از sed
روش 1: چگونه با استفاده از sed تمام خطوط خالی یک فایل متنی را حذف کنیم
قبل از کاوش در عمق این روش، بیایید نحو حذف خطوط خالی با استفاده از sed را درک کنیم:
نحو
‘/^$/d‘ بخش اصلی این دستور است. جایی که “^نماد نشان می دهد که حذف باید از ابتدا به معنای از خط اول اجرا شود. “$” نشان می دهد که باید تا آخرین خط فایل متنی پیش برود و ”د” نشان می دهد که حذف در حال انجام است.
این بخش شما را راهنمایی می کند تا تمام خطوط یک فایل متنی را با کمک ویرایشگر جریان (sed) حذف کنید:
ما یک فایل متنی ایجاد کرده ایم “delete.txt; ابتدا محتوای این فایل را با استفاده از ” دریافت کنیدگربهدستور ” مطابق زیر داده شده است و ما از ” استفاده کرده ایم-n” با آن گزینه، به طوری که ما می توانیم شماره خطوط را نیز بدست آوریم:
مشاهده می شود که خطوط خالی متعددی وجود دارد و زیبایی شناسی این فایل متنی را تحت تاثیر قرار می دهد و خوانندگان ممکن است به چنین مطالبی توجه نکنند.
بنابراین، برای جلوگیری از وضعیت فوق الذکر؛ شما باید خطوط خالی را حذف کنید تا خواندن ساده شود process; دستور ذکر شده در زیر تمام این خطوط را از ” حذف می کند.delete.txt” فایل.
اکنون می توانید متوجه شوید که خطوط خالی شسته شده اند و فقط آن خطوطی چاپ می شوند که حاوی متن هستند، اما نتیجه فقط نمایش داده می شود. روی terminal در حالی که فایل اصلی ثابت می ماند:
اگر می خواهید خطوط خالی را حذف کنید و فایل اصلی را نیز به روز کنید، باید از گزینه in-place استفاده کنید.-من” و دستور زیر به شما در انجام این کار کمک می کند:
روش 2: روش حذف خطوط خالی انتخاب شده در یک فایل متنی با استفاده از sed
دستور حذف خطوط خاص در یک فایل متنی در زیر نوشته شده است:
نحو
بخش اصلی نحو روی که فرمان متکی است این است(خط-شماره)d’”؛ شما باید شماره خط دقیق خط خالی را در ” قرار دهید(شماره خط)“و نامه”د” نشان می دهد که شماره خط درج شده حذف خواهد شد:
با استفاده از دستور sed می توانید برخی از خطوط خاص را در یک فایل متنی حذف کنید. ما یک فایل متنی جدید ایجاد کرده ایم “new.txt” برای این بخش به عنوان مثال، خروجی دستور زیر شماره خط را نشان می دهد.2” خالی است:
و اگر می خواهید دستور حذف این خط را اجرا کنید، باید شماره خط را مانند دستور زیر مشخص کنید:
همچنین می توانید خطوط متوالی را با استفاده از این روش حذف کنید. به عنوان مثال “new.txtفایل دارای 3 خط خالی است4،5،6” همانطور که در تصویر زیر قابل مشاهده است:
برای حذف این سه خط متوالی؛ باید درج “،” بین شماره خط شروع و پایان همانطور که در دستور زیر مشاهده می شود:
در نهایت، می توانید از گزینه in place نیز استفاده کنید-من” برای ذخیره دائمی تغییرات در فایل زیرا بدون این گزینه دستور sed نتیجه را چاپ می کند روی را terminal همانطور که دستور بالا را برای استفاده از آن با ” تغییر دادیم-من” گزینه:
نتیجه
اوبونتو از چندین روش برای دستکاری داده ها در یک فایل متنی پشتیبانی می کند. برای مثال، میتوانید از ویرایشگر متن پیشفرض اوبونتو، ویرایشگر نانو و غیره استفاده کنید. با این حال، ابزار خط فرمان sed اوبونتو به دلیل عملکردهایی مانند دسترسی به فایل از طریق terminal و بدون باز کردن آن تغییرات ایجاد کنید. در این مقاله از دستور sed برای حذف خطوط خالی از فایل متنی استفاده کرده ایم و دو روش برای این عمل شرح داده ایم. “روش 1” مخصوصاً زمانی مناسب است که صدها خط در یک فایل متنی دارید و می خواهید همه خطوط خالی را یکجا حذف کنید: از طرف دیگر،روش 2” برای حذف خطوط خالی در یک سند کوچک مناسب است که می توانید خطوط را یکی یکی حذف کنید. با این حال، اگر می خواهید دنبال کنید، باید خودتان به دنبال خطوط خالی بگردید.روش 2”: بنابراین، اگر مقایسه بین هر دو روش انجام شود،روش 1“بیشتر عمل می کند”روش 2” در مورد حذف خطوط خالی.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 13:04:04