از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Regex Matching در یک Bash if Statement
سرفصلهای مطلب
در بسیاری از زبان های برنامه نویسی، از جمله Bash، عبارات منظم معروف به regex، ابزاری موثر برای تطبیق الگو و پردازش متن هستند. دستور if یک ساختار کنترلی رایج است که در اسکریپت های Bash برای اجرای برخی دستورات بر اساس استفاده می شود روی شرایط خاص در Bash، می توانید از regex برای مطابقت الگوها در دستورات if برای کنترل اجرای اسکریپت استفاده کنید و این راهنما همه چیز در مورد تطبیق Regex در یک دستور Bash if است.
Regex Matching در یک Bash if Statement
نحو برای استفاده از regex در یک دستور Bash if ساده است زیرا می توانید از عملگر =~ برای مطابقت دادن یک رشته با یک الگوی عبارت منظم استفاده کنید، در اینجا یک مثال آورده شده است:
اگر [[ “Hello Linux” =~ ^Hello.* ]]; سپس
اکو “مطابقت پیدا شد!”
دیگر
اکو “هیچ مورد مطابقی پیدا نشد.”
فی
دستور if بررسی می کند که آیا رشته “Hello Linux” با الگوی عبارت منظم “^Hello.*” مطابقت دارد یا خیر. نماد caret (^) در الگو شروع رشته را نشان می دهد و ستاره نقطه ای (. ) با هر کاراکتری صفر یا چند بار مطابقت دارد.
اگر مطابقت پیدا شود، اسکریپت دستورات موجود در بلوک را اجرا می کند. در این حالت، اسکریپت «Match found!» را چاپ خواهد کرد. به console. اگر مطابقت وجود نداشته باشد، اسکریپت دستورات را در بلوک else اجرا میکند، که «هیچ مطابقت یافت نشد» را چاپ میکند. به console:
شما همچنین می توانید از regex برای مطابقت با متغیرهای یک اسکریپت Bash استفاده کنید، در اینجا یک مثال آورده شده است:
خ=“سلام لینوکس”
اگر [[ $str =~ ^Hello.* ]]; سپس
اکو “مطابقت پیدا شد!”
دیگر
اکو “هیچ مورد مطابقی پیدا نشد.”
فی
در اینجا دستور if بررسی می کند که آیا متغیر “str” با الگوی عبارت منظم “^Hello.*” مطابقت دارد یا خیر. برای جلوگیری از تقسیم کلمه و گسترش نام فایل، متغیر در گیومه های دوتایی محصور شده است:
نتیجه
دستور Bash if با تطبیق regex ابزاری موثر برای پردازش متن و تطبیق الگو در اسکریپت های Bash است. می توان از آن برای محدود کردن روش اجرای اسکریپت های شما استفاده کرد روی معیارهای خاص با تسلط بر تطابق regex در Bash، میتوانید اسکریپتهای کارآمدتر و مؤثرتری بنویسید که گردش کار شما را خودکار میکند و در وقت و تلاش شما صرفهجویی میکند.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 00:03:03