از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
تطبیق الگوی Bash
سرفصلهای مطلب
تطبیق الگوی Bash یک مفهوم ضروری است که هنگام انتخاب نام فایلهای مختلف از یک فهرست و بررسی اینکه آیا رشتهای با فرمت معین مطابقت دارد یا خیر، مفید است. این که آیا شما در حال شروع با bash تطبیق الگو یا به دنبال برس کشیدن روی مهارت های شما، این راهنما راه ها و نکات مختلف برای تطبیق الگو را پوشش می دهد.
تطبیق الگو
Bash عمدتاً دو نوع تطبیق الگو را ارائه می دهد: گلوب و کره های گسترده این دو روش ساده ای را برای کاربران ارائه می دهند تا نام فایل ها را انتخاب کنند و رشته های مختلف را در برابر قوانین خاص بررسی کنند. با این حال، Bash از استفاده نیز پشتیبانی می کند رژکس، به خصوص هنگام کار با اسکریپت ها برای اعتبارسنجی ورودی های مختلف کاربر و تجزیه داده ها.
1. تطبیق الگوی Bash با Globs
تطبیق الگوی Glob عمدتاً شامل بررسی نام فایلهای خاص در یک فهرست مشخص میشود. به آنها اشاره می شود حروف عام سه نوع وجود دارد bash الگوهای کره ای:
2. ستاره
زمانی استفاده میشود که میخواهید با صفر یا چند نام فایل مطابقت دهید.
بیایید چند مثال بزنیم.
بررسی نام فایل ها که با یک کاراکتر مشخص شروع یا پایان می یابند به عنوان مثال، اگر ما نیاز به جستجو برای یک فایل شروع با ل یا لی،
* lsلی
*
توجه داشته باشید که چگونه با همه نامهای فایلی که با li یا l شروع میشوند، در فهرست فعلی، از جمله فهرستها، مطابقت دارد.
برای تطبیق فقط با دایرکتوری ها، مانند شکل زیر، / را بعد از عام اضافه کنید: به طور مشابه، اگر لازم بود نام فایل ها را مطابقت دهیم که با یک شخصیت مشخص به پایان می رسد یا کاراکترها، میتوانیم از علامت عام همانطور که در تصویر زیر نشان داده شده است استفاده کنیم. در این مثال، نام فایلهایی را که با آن ختم میشوند مطابقت میدهیم
ه
فرض کنید از نام فایلی که می خواهید جستجو کنید مطمئن نیستید اما کاراکترهای داده شده را می دانید. مانند مثال زیر، همچنان میتوانید با اضافه کردن علامت عام قبل و بعد از کاراکترها، نام فایلها را مطابقت دهید. ما نام فایلهایی را مطابقت دادیم که شامل: nux
کلمه کلیدی در نام آنها
بررسی فایل ها با یک پسوند داده شده
txt
تمام فایل های متنی مطابق شکل زیر مطابقت دارند: 3.
علامت سوال (؟)
علامت سوال با نام فایل هایی که با یک کاراکتر مطابقت دارند مطابقت دارد. با این حال، شما باید تعداد کاراکترهایی را که یک نام فایل داده شده دارد، بدانید، به طوری که هر یک از «?» هر شخصیت را نشان می دهد.
???e
?????.txt []
4. براکت های مربعی
وقتی میخواهید جستجوی خاصتری مانند تطبیق نام فایلهایی که حاوی کاراکترهای داده شده هستند انجام دهید، کاراکترهایی که مطابقت دارند را میتوان در پرانتز اضافه کرد.
*
در اینجا، نام فایل هایی را که حاوی هر کاراکتری از e تا m هستند و هر پسوندی دارند مطابقت می دهیم. [f-l] اگر میخواهید نام فایلهایی را که با کاراکترهای خاصی شروع میشوند مطابقت دهید، بیایید شروع کنیم
*
5. تطبیق الگوی Bash با Glob های توسعه یافته روی glob های گسترده شباهت زیادی به عبارات منظم دارند. با این حال، آنها به طور پیش فرض خاموش هستند. وقتی باید از آنها استفاده کنید، باید آنها را بچرخانید
extglob
گلوب های توسعه یافته عبارتند از:
6. ?(الگوها) هنگام تطبیق با استفاده می شود صفر یا یک
وقوع الگوی مشخص شده
)
7. *(الگوها) هنگام تطبیق با استفاده می شود صفر یا بیشتر
وقوع الگوی مشخص شده
txt
8. +(الگوها) هنگام تطبیق با استفاده می شود یکی یا بیشتر
وقوع الگوی مشخص شده اگر دستور قبلی را اجرا می کنیم، توجه داشته باشید که فقط با نام فایل هایی مطابقت دارد که باید حداقل یک “f” داشته باشند، به این معنی که txt
txt
9. @(الگوها)
هنگام تطبیق با یک رخداد از الگوی مشخص شده استفاده می شود.
txt
10. !(الگوها)
زمانی استفاده میشود که بخواهید هر چیز دیگری را که با الگوی مشخص شده مطابقت ندارد مطابقت دهید.
)
نتیجه روی این راهنما تطبیق الگوی Bash و مثالهای مختلف را ارائه میکند تا اطمینان حاصل شود که روش کار با گزینههای مختلف تطبیق الگو را میدانید. با استفاده از این پایه، می توانید تطبیق الگوی Bash خود را پیش ببرید و زمانی که می خواهید الگوهای مختلف را مطابقت دهید از همان منطق استفاده کنید. terminal را
یا هنگام ایجاد اسکریپت های Bash.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 20:56:04