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

سرور مجازی NVMe

روش استفاده از دستور Sed با Regex

0 19
زمان لازم برای مطالعه: 4 دقیقه


دستور sed دارای لیست بلندبالایی از عملیات پشتیبانی شده است که می تواند برای سهولت انجام شود process از ویرایش فایل های متنی این به کاربران اجازه می دهد تا عباراتی را که معمولاً در زبان های برنامه نویسی استفاده می شوند، اعمال کنند. یکی از عبارات اصلی پشتیبانی شده، عبارت منظم (regex) است.

Regex برای مدیریت متن در فایل های متنی استفاده می شود، با کمک regex الگویی که از رشته تشکیل شده است و این الگوها سپس برای مطابقت یا مکان یابی متن استفاده می شوند. regex به طور گسترده در زبان های برنامه نویسی مانند Python، Perl، Java استفاده می شود و پشتیبانی از آن برای برنامه های خط فرمان مانند grep و چندین ویرایشگر متن نیز مانند sed در دسترس است.

اگرچه جستجو و مرتب سازی ساده را می توان با استفاده از دستور sed انجام داد، استفاده از regex با sed تطبیق سطح پیشرفته را در فایل های متنی امکان پذیر می کند. regex کار می کند روی جهت کاراکترهای مورد استفاده؛ این کاراکترها دستور sed را برای انجام وظایف هدایت شده هدایت می کنند. در این مقاله، استفاده از regex را با دستور sed نشان می‌دهیم و در ادامه مثال‌هایی را که کاربرد regex را نشان می‌دهند، نشان می‌دهیم.

روش استفاده از regex در sed

این بخش بخش اصلی نوشتار است که حاوی توضیح مفصلی از عبارات با قاعده در زمینه sed است: اجازه دهید با آن شروع کنیم.

تطبیق کلمه

اگر می‌خواهید کلمه‌ای را پیدا کنید که دقیقاً با کاراکترها مطابقت دارد، باید دقیقاً کاراکترهای مطابق با کلمه را مشخص کنید: به عنوان مثال، ما یک فایل متنی داریم که حاوی لیستی از تولیدکنندگان لپ‌تاپ به نام «laptops.txt”:

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

$ گربه laptops.txt

روش استفاده از دستور Sed با Regex

استفاده از دستور زیر به شما کمک می کند تا “ACER” کلمه:

$ sed -n ‘/ACER/p’ laptops.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

تطبیق همه کلمات با یک کاراکتر خاص شروع می شود

این پشتیبانی regex شامل چندین عمل است که در این بخش توضیح داده شده است:

پیشنهاد می‌کنیم بخوانید:  Base64 رمزگذاری و رمزگشایی از خط فرمان

اگر می خواهید کلماتی را که با یک کاراکتر خاص شروع و ختم می شوند جستجو و مطابقت دهید، باید از « استفاده کنید*” برای انجام این کار بین شخصیت ها وارد شوید. اما توجه شده است که “*نماد ” کلماتی را که با یک یا چند شروع می شوند چاپ می کند ”مانند“اما با مجرد”آر”: به عنوان مثال، دستوری که در زیر نوشته شده است، تمام کلماتی را که با یک یا چندگانه شروع می شوند چاپ می کند.آ” و با تک ” پایان می یابدآر”:

$ sed -n ‘/A*R/p’ laptops.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

برای تطبیق کلمه ای که به کاراکتر خاصی ختم می شود یا فقط حاوی کاراکتر مشخص شده است: دستور نوشته شده در زیر کلمات با کاراکتر را نمایش می دهد.پ“یا کلمه دقیق”HP”:

$ sed -n ‘/H\?P/p’ laptops.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

تطبیق کلمات با شخصیت خاص

توجه داشته باشید که می توانید کلمات حاوی هر کاراکتری را با کمک دستور sed بدست آورید: به عنوان مثال، دستور ذکر شده در زیر کلمات حاوی یکی از این کاراکترها را پیدا می کند. “الف”، “ح” یا “د”:

$ sed -n ‘/[AHD]/پ’ laptops.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

مطابقت با رشته

می توانید از دستور sed با عبارات منظم برای چاپ رشته ها استفاده کنید. شما می توانید تمام رشته ها را چاپ کنید یا می توانید یک رشته خاص را با استفاده از کاراکتر شروع یا پایان آن رشته هدف قرار دهید:

ما استفاده کرده ایم “file.txtبرای استفاده از آن به عنوان مثال در این بخش؛ این فایل حاوی مطالب زیر است:

$ گربه file.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

به عنوان مثال، اگر می خواهید تمام رشته ها را چاپ کنید. دستور زیر در این زمینه به شما کمک می کند:

$ sed -n ‘/.\+/p’ file.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

اگر می خواهید تمام رشته هایی که با کاراکتر شروع می شوند را دریافت کنیدآسپس باید از نماد هویج استفاده کنید (^) برای نشان دادن کاراکتر شروع رشته.

دستور ذکر شده در زیر تا چاپ رشته هایی که با ” شروع می شوند@”:

$ sed -n ‘^@’ file.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

علاوه بر این، اگر می خواهید فقط رشته هایی را دریافت کنید که به یک کاراکتر خاص ختم می شوند، باید از ” استفاده کنید$” با آن شخصیت. به عنوان مثال، دستوری که در اینجا نوشته شده است رشته هایی را که با ” ختم می شود چاپ می کند.#”:

$ sed -n ‘/#$/p’ file.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

مطابقت با خطوط خالی

پشتیبانی از دستور sed regex به کاربر این امکان را می دهد که خطوط خالی را با استفاده از “چاپ/حذف کند./^$/”؛ دستور زیر خطوط خالی را در ” چاپ می کندlaptops.txt” فایل:

$ sed -n ‘/^$/p’ laptops.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

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

$ sed -n ‘/^$/d’ laptops.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

مطابقت با حروف

دستور sed به کاربران اجازه می دهد تا کلمات را با حروف خاص دستکاری کنند:

پیشنهاد می‌کنیم بخوانید:  روش استفاده از حلقه for در دستور awk

به عنوان مثال، می توانید با استفاده از دستور sed حروف را چاپ، حذف و جایگزین کنید:

یک فایل متنی با نام “test.txt” در این مثال استفاده می شود، محتوای این فایل با استفاده از دستور زیر چاپ می شود:

$ گربه test.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

مطابقت با حروف کوچک

دستور زیر تمام کلماتی را که دارای حروف کوچک هستند چاپ می کند:

$ sed -n ‘/[a-z]/پ’ test.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

مطابقت با حروف بزرگ

یا می توانید کلماتی که دارای حروف بزرگ هستند را با صدور دستور زیر در چاپ کنید terminal:

$ sed -n ‘/[A-Z]/پ’ test.txt

روش استفاده از دستور Sed با Regexروش استفاده از دستور Sed با Regex

نتیجه

عبارات منظم (regex) به عنوان; هر کلمه یا دنباله ای از کاراکترها که برای دریافت کلمات تطبیق از هر فایل متنی استفاده می شود. آنها پشتیبانی گسترده ای از چندین زبان برنامه نویسی و همچنین دستورات یا برنامه های اوبونتو ارائه می دهند. در کنار این regex، اوبونتو از دستورات گسترده ای پشتیبانی می کند که این کار را آسان می کند process انجام کارهای خسته کننده ابزار خط فرمان sed اوبونتو به شما امکان می دهد چندین کار خسته کننده را به راحتی انجام دهید تا چندین عملیات را انجام دهید. روی فایل های متنی ما این راهنما را برای روشن کردن مزایای پیوستن regex با sed گردآوری کرده‌ایم. این سرمایه گذاری مشترک تطبیق سطح پیشرفته و جستجو در داخل فایل های متنی را فراهم می کند. عبارات منظم به کمک کاراکترهایی نیاز دارند که برای تطبیق برای انجام کارهای مختلف مانند حذف، چاپ، جایگزینی یا مدیریت متن در فایل‌های متنی استفاده می‌شوند.

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

زمان انتشار: 1402-12-30 12:06:05

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

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

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