از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استفاده از دستور Sed با Regex
سرفصلهای مطلب
دستور sed دارای لیست بلندبالایی از عملیات پشتیبانی شده است که می تواند برای سهولت انجام شود process از ویرایش فایل های متنی این به کاربران اجازه می دهد تا عباراتی را که معمولاً در زبان های برنامه نویسی استفاده می شوند، اعمال کنند. یکی از عبارات اصلی پشتیبانی شده، عبارت منظم (regex) است.
Regex برای مدیریت متن در فایل های متنی استفاده می شود، با کمک regex الگویی که از رشته تشکیل شده است و این الگوها سپس برای مطابقت یا مکان یابی متن استفاده می شوند. regex به طور گسترده در زبان های برنامه نویسی مانند Python، Perl، Java استفاده می شود و پشتیبانی از آن برای برنامه های خط فرمان مانند grep و چندین ویرایشگر متن نیز مانند sed در دسترس است.
اگرچه جستجو و مرتب سازی ساده را می توان با استفاده از دستور sed انجام داد، استفاده از regex با sed تطبیق سطح پیشرفته را در فایل های متنی امکان پذیر می کند. regex کار می کند روی جهت کاراکترهای مورد استفاده؛ این کاراکترها دستور sed را برای انجام وظایف هدایت شده هدایت می کنند. در این مقاله، استفاده از regex را با دستور sed نشان میدهیم و در ادامه مثالهایی را که کاربرد regex را نشان میدهند، نشان میدهیم.
روش استفاده از regex در sed
این بخش بخش اصلی نوشتار است که حاوی توضیح مفصلی از عبارات با قاعده در زمینه sed است: اجازه دهید با آن شروع کنیم.
تطبیق کلمه
اگر میخواهید کلمهای را پیدا کنید که دقیقاً با کاراکترها مطابقت دارد، باید دقیقاً کاراکترهای مطابق با کلمه را مشخص کنید: به عنوان مثال، ما یک فایل متنی داریم که حاوی لیستی از تولیدکنندگان لپتاپ به نام «laptops.txt”:
بیایید با استفاده از دستور زیر محتوای فایل را دریافت کنیم:
استفاده از دستور زیر به شما کمک می کند تا “ACER” کلمه:
تطبیق همه کلمات با یک کاراکتر خاص شروع می شود
این پشتیبانی regex شامل چندین عمل است که در این بخش توضیح داده شده است:
اگر می خواهید کلماتی را که با یک کاراکتر خاص شروع و ختم می شوند جستجو و مطابقت دهید، باید از « استفاده کنید*” برای انجام این کار بین شخصیت ها وارد شوید. اما توجه شده است که “*نماد ” کلماتی را که با یک یا چند شروع می شوند چاپ می کند ”مانند“اما با مجرد”آر”: به عنوان مثال، دستوری که در زیر نوشته شده است، تمام کلماتی را که با یک یا چندگانه شروع می شوند چاپ می کند.آ” و با تک ” پایان می یابدآر”:
برای تطبیق کلمه ای که به کاراکتر خاصی ختم می شود یا فقط حاوی کاراکتر مشخص شده است: دستور نوشته شده در زیر کلمات با کاراکتر را نمایش می دهد.پ“یا کلمه دقیق”HP”:
تطبیق کلمات با شخصیت خاص
توجه داشته باشید که می توانید کلمات حاوی هر کاراکتری را با کمک دستور sed بدست آورید: به عنوان مثال، دستور ذکر شده در زیر کلمات حاوی یکی از این کاراکترها را پیدا می کند. “الف”، “ح” یا “د”:
مطابقت با رشته
می توانید از دستور sed با عبارات منظم برای چاپ رشته ها استفاده کنید. شما می توانید تمام رشته ها را چاپ کنید یا می توانید یک رشته خاص را با استفاده از کاراکتر شروع یا پایان آن رشته هدف قرار دهید:
ما استفاده کرده ایم “file.txtبرای استفاده از آن به عنوان مثال در این بخش؛ این فایل حاوی مطالب زیر است:
به عنوان مثال، اگر می خواهید تمام رشته ها را چاپ کنید. دستور زیر در این زمینه به شما کمک می کند:
اگر می خواهید تمام رشته هایی که با کاراکتر شروع می شوند را دریافت کنیدآسپس باید از نماد هویج استفاده کنید (^) برای نشان دادن کاراکتر شروع رشته.
دستور ذکر شده در زیر تا چاپ رشته هایی که با ” شروع می شوند@”:
علاوه بر این، اگر می خواهید فقط رشته هایی را دریافت کنید که به یک کاراکتر خاص ختم می شوند، باید از ” استفاده کنید$” با آن شخصیت. به عنوان مثال، دستوری که در اینجا نوشته شده است رشته هایی را که با ” ختم می شود چاپ می کند.#”:
مطابقت با خطوط خالی
پشتیبانی از دستور sed regex به کاربر این امکان را می دهد که خطوط خالی را با استفاده از “چاپ/حذف کند./^$/”؛ دستور زیر خطوط خالی را در ” چاپ می کندlaptops.txt” فایل:
یا می توانید با جایگزین کردن “حذف کنیدپ” با “د” در دستور بالا همانطور که در زیر نشان داده شده است:
مطابقت با حروف
دستور sed به کاربران اجازه می دهد تا کلمات را با حروف خاص دستکاری کنند:
به عنوان مثال، می توانید با استفاده از دستور sed حروف را چاپ، حذف و جایگزین کنید:
یک فایل متنی با نام “test.txt” در این مثال استفاده می شود، محتوای این فایل با استفاده از دستور زیر چاپ می شود:
مطابقت با حروف کوچک
دستور زیر تمام کلماتی را که دارای حروف کوچک هستند چاپ می کند:
مطابقت با حروف بزرگ
یا می توانید کلماتی که دارای حروف بزرگ هستند را با صدور دستور زیر در چاپ کنید terminal:
نتیجه
عبارات منظم (regex) به عنوان; هر کلمه یا دنباله ای از کاراکترها که برای دریافت کلمات تطبیق از هر فایل متنی استفاده می شود. آنها پشتیبانی گسترده ای از چندین زبان برنامه نویسی و همچنین دستورات یا برنامه های اوبونتو ارائه می دهند. در کنار این regex، اوبونتو از دستورات گسترده ای پشتیبانی می کند که این کار را آسان می کند process انجام کارهای خسته کننده ابزار خط فرمان sed اوبونتو به شما امکان می دهد چندین کار خسته کننده را به راحتی انجام دهید تا چندین عملیات را انجام دهید. روی فایل های متنی ما این راهنما را برای روشن کردن مزایای پیوستن regex با sed گردآوری کردهایم. این سرمایه گذاری مشترک تطبیق سطح پیشرفته و جستجو در داخل فایل های متنی را فراهم می کند. عبارات منظم به کمک کاراکترهایی نیاز دارند که برای تطبیق برای انجام کارهای مختلف مانند حذف، چاپ، جایگزینی یا مدیریت متن در فایلهای متنی استفاده میشوند.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 12:06:05