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

سرور مجازی NVMe

استفاده از Regex در عبارات Bash Case

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


عبارت منظم یا Regex به رشته های الفبایی گفته می شود که برای ایجاد پرس و جوهای جستجو استفاده می شود. عبارات منظم به عنوان جستجو و جایگزین در حین تأیید برخی شرایط استفاده می شود. Regex را می توان در bash برنامه نویسی یا هر زبان برنامه نویسی دیگری. اغلب اوقات، regex در عبارات grep قابل استفاده است نه در دستورات case. این راهنما روش عملکرد عبارات منظم با عبارت case را در هنگام استفاده از سیستم لینوکس اوبونتو 20.04 مشاهده خواهد کرد. قبل از رفتن به ادامه مطلب باید از سیستم وارد شوید.

مثال 01:

بسیاری از اوقات، کاربران استفاده از regex (عبارات منظم) را در عبارات “case” دشوار می دانستند زیرا “regex” هرگز در دستورات case کار نمی کند. به عنوان یک جایگزین، “grep” همیشه به جای یک عبارت case برای استفاده regex در استفاده شده است bash. ما یک مثال ساده خواهیم دید تا ببینیم چگونه grep و case در هنگام استفاده از عبارات منظم کار می کنند. بنابراین، باز کنید terminal console قبل از حرکت بیشتر از طریق میانبر “Ctrl+Alt+T”. پس از باز کردن terminal، باید یک جدید ایجاد کنید bash فایل با پرس و جو لمسی.

$ دست زدن به test.sh

پس از ایجاد bash فایل را باز کنید تا به آن اضافه شود bash کد برای این کار، عبارت زیر را امتحان کنید.

$ نانو test.sh

استفاده از Regex در عبارات Bash Case

را bash فایل در ” باز شده استGNU ویرایشگر». اضافه کردن bash کد نشان داده شده در زیر همانطور که در داخل است bash فایل. این کد در مورد استفاده از grep بحث خواهد کرد در حالی که عبارت منظم در آن استفاده شده است. اضافه کردن bash ابتدا پسوند ما یک متغیر “s” را با فاصله و رشته ها به عنوان مقدار آن اعلام کرده ایم. اولین دستور echo این پیام را نشان می دهد که regex با “grep” در این کد مثال استفاده شده است. در خط بعدی از دستور echo برای نمایش متغیر “s” استفاده کرده ایم. در حالی که grep، از دستور برای جستجوی متن “word1” از متغیر “s” استفاده شده است که با عبارت منظم داده شده در تصویر مطابقت دارد. کد خود را ذخیره کنید و آن را از طریق “Ctrl+S” و “Ctrl+X” پشت سر هم بگذارید.

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

وقت آن است که ما را اجرا کنیم bash فایل کنید تا نتایج آن را ببینید. بنابراین، ما استفاده کرده ایم bash دستور اجرای فایل test.sh. خروجی نتیجه متغیر “s” به همراه پیام “with grep” را نشان می دهد. این نشان می دهد که regex کاملاً در عبارات grep کار می کند.

$ باست تست.ش

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

بیایید این بار همان خروجی را برای دستورات case ایجاد کنیم. بنابراین، خود را باز کنید bash با استفاده از پرس و جوی “nano” دوباره در ویرایشگر فایل کنید. اضافه کردن bash پسوند و یک متغیر “s” با مقداری تعریف کنید. ما از عبارت “echo” برای توضیح بیشتر استفاده کرده ایم روی با استفاده از بیانیه مورد در حال حاضر. هنگام جستجوی متغیر “s” در عبارت منظم تعریف شده در کد، دستور case را شروع کرده ایم. وقتی رشته منطبق را پیدا کرد، باید متغیر “s” را در آن چاپ کند terminal. سپس، بیانیه مورد با کلمه کلیدی “esac” پایان یافته است.

پیشنهاد می‌کنیم بخوانید:  روش رفع - bash: pip: فرمان یافت نشد

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

در حین اجرای bash فایل در داخل terminal، به نظر می رسد که یک خطای دستوری با گفتن “خطای نحوی در نزدیکی توکن غیرمنتظره ایجاد می کند. [expression]”. این به سادگی نشان می دهد که عبارت منظم با عبارت case کار نمی کند.

$ bash test.sh

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

مثال 02:

بیایید نگاهی به نمونه دیگری از معمولی بیندازیم bash اصطلاحات. این بار برای بررسی عملکرد regex از یک عبارت منظم کمی متفاوت استفاده خواهیم کرد. از سوی دیگر، regex را در دستور “if” به جای “گزاره مورد” خواهیم دید. بنابراین، فایل “test.sh” را دوباره باز کنید.

$ نانو test.sh

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

همانطور که فایل در حال حاضر باز است، ما آن را اضافه کرده ایم bash پسوند و با استفاده از عبارت “if” برای شروع شرط. در عبارت “if” به ما اجازه نمی دهد که هیچ عبارت منظمی را اضافه کنیم. به همین دلیل است که از عبارت “=~” برای نمونه سازی regex در کد استفاده کرده ایم. در این شرط، regex را با استفاده از “$” به عنوان یک عبارت منظم معتبر اضافه کرده‌ایم. هنگامی که کاراکتر اضافه شده با شرایط عبارت منظم در عبارت “if” مطابقت دارد، باید آن عبارت را در متغیر “n” ذخیره کرده و “Valid” را چاپ کند. اگر شرط برآورده نشد، باید “Invalid” را در آن چاپ کند terminal و عبارت “if” را ببندید. فقط فایل را با میانبر “Ctrl+S” ذخیره کنید و ویرایشگر را با “Ctrl+X” ترک کنید.

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

در حال حاضر، بازگشت به terminal، ما عبارت execution of را امتحان کرده ایم bash فایل “test.sh” را سه بار با تجزیه برخی از کاراکترها و نمادها اجرا کنید. ما این بار کاراکترهای @، # و f را اضافه کرده ایم. همه کاراکترها مطابق با “نامعتبر” اعلام شده اند bash کد این به این دلیل است که ما از عبارت منظم استفاده کرده‌ایم تا فقط «$» را معتبر بدانیم.

$ bash test.sh

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

بیایید این بار “$” را در کوئری اجرا بگیریم تا روش عملکرد آن را آزمایش کنیم. به نظر می رسد که “$” یک عبارت معتبر است، و خروجی “Valid” را در داخل چاپ می کند. console پوسته.

$ bash test.sh

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

مثال 03:

بیایید یک مثال متفاوت و ساده از استفاده از عبارت منظم در دستور case داشته باشیم. دوباره بیایید در را باز کنیم bash فایل “test.sh” در ویرایشگر سیستم اوبونتو 20.04.

$ نانو test.sh

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

همانطور که test.sh bash فایل در داخل راه اندازی شده است GNU ویرایشگر نانو 4.8 terminal، اضافه کردن bash پسوند در ابتدای یک فایل پس از آن، ما از عبارت “read” با پرچم “-p” برای گرفتن ورودی به عنوان نام سرور از کاربر استفاده کرده ایم. این نام سرور به عنوان ورودی در متغیر “SERVER” ذخیره می شود. این سرور باید URL سرور دامنه باشد. اکنون از دستور case در اینجا برای آزمایش عبارت منظم استفاده می کنیم. بنابراین، دستور case را با متغیر SERVER شروع کرده‌ایم تا بررسی کنیم که آیا دامنه سرور ورودی اضافه شده با سایر عبارات ذکر شده در عبارت case مطابقت دارد یا خیر. وقتی مقدار متغیر “SERVER” با ws*.@ مطابقت داشتhost.com، از عبارت echo استفاده می کند تا نشان دهد که این دامنه “وب سرور” است. اگر مطابق با db*.@host.com، از عبارت “echo” برای نشان دادن اینکه سرور یک “سرور DB” است استفاده می کند. اگر دامنه bk*.@ باشدhost.com، “سرور پشتیبان” را نشان می دهد. در غیر این صورت، نشان می دهد که سرور ناشناخته است. ستاره نشان دهنده regex است. پس از این، عبارت case با کلمه کلیدی “esac” در اسکریپت بسته می شود. این کد را ذخیره کرده و با استفاده از همان کلیدهای میانبر «Ctrl+S» و «Ctrl+X» از آن خارج شوید.

پیشنهاد می‌کنیم بخوانید:  -z در Bash به چه معناست

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

در حال حاضر به بازگشت به terminal، بیایید این را آزمایش کنیم bash کد با اجرای bash دستور با نام یک فایل test.sh. پس از اجرا از کاربر می خواهد که نام کاربری را اضافه کند. ما یک نام سرور معتبر “ws” با 1234 به عنوان regex اضافه کرده ایم و Enter را فشار داده ایم. نشان می دهد که نحو سرور با “وب سرور” مطابقت دارد.

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

ما یک اجرای دیگر انجام داده ایم و این بار سینتکس یک سرور را تغییر داده ایم. از آنجایی که نقطه از URL دامنه گم شده است، نشان می دهد که سرور ناشناخته است.

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

زمانی که یک دامنه مشابه و درست اضافه کنیم، نام یک سرور را نمایش می دهد.

استفاده از Regex در عبارات Bash Caseاستفاده از Regex در عبارات Bash Case

نتیجه:

در این آموزش، روش استفاده از بیانیه موردی را مورد بحث قرار داده ایم bash برای استفاده از عبارات منظم امیدواریم این مقاله به شما کمک کرده باشد تا شک و تردیدها و عوارض را از بین ببرید.

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

زمان انتشار: 1402-12-30 15:28:03

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

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

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