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

سرور مجازی NVMe

آموزش باش گلوبینگ

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


Bash از عبارات منظم بومی مانند برخی دیگر از زبان های برنامه نویسی استاندارد پشتیبانی نمی کند. ویژگی پوسته Bash که برای تطبیق یا گسترش انواع خاصی از الگوها استفاده می شود، globbing نامیده می شود. Globbing عمدتا برای مطابقت با نام فایل ها یا جستجوی محتوای یک فایل استفاده می شود. Globbing از کاراکترهای wildcard برای ایجاد الگو استفاده می کند. رایج ترین کاراکترهای عام که برای ایجاد الگوهای globbing استفاده می شوند در زیر توضیح داده شده اند.





علامت سوال – (؟)

“؟” برای مطابقت با هر شخصیت استفاده می شود. شما می توانید استفاده کنید “؟” برای چندین بار برای تطبیق چندین کاراکتر.

مثال-1:

فرض کنید می خواهید نام فایل های متنی را جستجو کنید که نام آنها 4 کاراکتر و پسوند آنها است txt. با استفاده از ‘ می توانید الگوی globbing را اعمال کنید?چهار بار برای انجام این کار.

لیست تمام فایل ها و پوشه های دایرکتوری فعلی را پیدا کنید.

$ ls

دستور زیر را اجرا کنید و فایل هایی که نام آنها چهار کاراکتر و ناشناخته است را جستجو کنید.

$ ls -l ????.txt

آموزش باش گلوبینگ

مثال-2:

فرض کنید می‌خواهید آن فایل‌های سندی را جستجو کنید که نام‌شان 8 کاراکتر است، 4 کاراکتر اول f، o، o و تی و پسوند است سند. برای جستجوی فایل ها دستور زیر را با الگوی globbing اجرا کنید.

$ ls پا؟؟؟؟.دکتر

آموزش باش گلوبینگآموزش باش گلوبینگ

مثال-3:

فرض کنید، شما می دانید که نام فایل است ‘بهترین’ و پسوند 3 کاراکتر است، اما پسوند را نمی دانم. با استفاده از دستور زیر را اجرا کنید ‘؟برای جستجوی همه فایل‌های با نام «test» با هر پسوند سه کاراکتری.

$ ls بهترین.؟؟؟

آموزش باش گلوبینگآموزش باش گلوبینگ

ستاره –

‘*’ برای تطبیق صفر یا چند کاراکتر استفاده می شود. اگر اطلاعات کمتری برای جستجوی هر فایل یا اطلاعاتی دارید، می توانید از آن استفاده کنید ‘*’

در الگوی globbing.

مثال -1: فرض کنید، می خواهید همه فایل های آن را جستجو کنید ‘pl’ افزونه. با استفاده از دستور زیر را اجرا کنید ‘*’

برای انجام آن وظیفه $ ls *

آموزش باش گلوبینگآموزش باش گلوبینگ

.pl

مثال-2: فرض کنید، شما می دانید که کاراکتر شروع نام فایل فقط کدام است‘آ’ . دستور زیر را با استفاده از ‘*’ اجرا کنید تا تمام فایل های دایرکتوری فعلی که نام آنها با آن شروع شده است را جستجو کنید‘آ’

. $ lsآ*.

آموزش باش گلوبینگآموزش باش گلوبینگ

*

مثال-3: bash می توانید ‘*’ را در آن اعمال کنید bash اسکریپت برای اهداف مختلف بدون جستجو در فایل ها. ایجاد یک فایل به نام “check.sh”با اسکریپت زیر در اینجا، زمانی که کاربر تایپ خواهد کرد y یا «Y» یا «بله» یا «بله» سپس ‘تایید شده’ print اراده و زمانی که نوع تایپ خواهد شد “ن” یا “ن” یا “نه” یا “نه” سپس ‘تأیید نشده’ printاراده

.bash
echo #!/صندوقچه/
“میخوای تایید کنی؟” خواندن
پاسخ مورد $پاسخ
[Yy]که در * )echo “تایید شده.”
[Nn];; * )echo “تأیید نشده.”
;;* echo )“دوباره امتحان کن.”
;;

اساک

اسکریپت را اجرا کنید. bash $

آموزش باش گلوبینگآموزش باش گلوبینگ

چک.ش[]براکت مربع – (

)[]’

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

برای مطابقت با کاراکتر از محدوده استفاده می شود. برخی از پرکاربردترین اعلان‌های محدوده در زیر ذکر شده‌اند. [:upper:] همه حروف بزرگ با محدوده به صورت زیر تعریف می شوند: [A-Z] یا

. [:lower:] همه حروف کوچک با محدوده به صورت زیر تعریف می شوند: [a-z]یا

. [:digit:] همه ارقام عددی توسط محدوده به صورت زیر تعریف می شوند [0-9]یا

. [:alpha:] همه حروف بزرگ و کوچک با محدوده به صورت زیر تعریف می شوند: [a-zA-z]یا

. [:alnum:] همه حروف بزرگ، حروف کوچک و اعداد با محدوده به صورت زیر تعریف می شوند: [a-zA-Z0-9]

یا

مثال -1: دستور زیر را برای جستجوی همه فایل ها و پوشه هایی که نام آنها شامل می شود را اجرا کنید پ یا q یا r یاس

. $ ls [p-s]

آموزش باش گلوبینگآموزش باش گلوبینگ

*

مثال-2:

دستور زیر را برای جستجوی همه فایل ها و پوشه هایی که نام آنها با هر رقمی از 1 تا 5 شروع می شود را اجرا کنید. $ ls [15]

آموزش باش گلوبینگآموزش باش گلوبینگ

*

Caret – (^) شما می توانید استفاده کنید ‘^’ با براکت مربع برای تعریف بیشتر الگوی globbing. ‘^’ را می توان در داخل یا خارج از براکت مربع استفاده کرد. ‘^’ در خارج از براکت مربع برای جستجوی محتویات فایلی که با محدوده مشخصی از کاراکترها شروع می شود استفاده می شود. ‘^’ در داخل براکت استفاده می شود تا تمام محتوای فایل را با برجسته کردن خطوطی که با محدوده مشخصی از کاراکترها شروع می شوند نشان دهد. شما می توانید از انواع مختلف الگوهای globbing برای جستجوی محتوای خاص از یک فایل استفاده کنید. “گرپ” bashاز دستور برای جستجوی محتوا استفاده می شود . فرض کنید، یک فایل متنی به نام دارید “list.txt”

با مطالب زیر نمونه های زیر را برای آن فایل تست کنید.
سیب
4000
موز
700
نارنجی
850
گلابی
9000

جکدروت

مثال – 1: دستور زیر را برای جستجوی آن خطوط از آن اجرا کنید list.txt فایلی که باP یا Q یا R

.[P-R]$ grep ‘^

آموزش باش گلوبینگآموزش باش گلوبینگ

‘ list.txt

مثال – 2: دستور زیر را اجرا کنید تا آن خطوط را برجسته کنید list.txt فایلی که باالف یا ب یا ج

.[^A-C]$ grep’

آموزش باش گلوبینگآموزش باش گلوبینگ

‘ list.txt

علامت تعجب – (!) شما می توانید استفاده کنید ‘!’ داخل الگوی محدوده مانند استفاده از نماد ‘^’ در خارج از الگوی محدوده کار می کند. چند نمونه از استفاده ‘!’

علامت در زیر آورده شده است.

مثال – 1: برای نشان دادن آن خطوط از دستور زیر را اجرا کنید list.txt فایلی که باP یا Q یا R

. [!P-R] $ grep

آموزش باش گلوبینگآموزش باش گلوبینگ

list.txt

مثال – 2: برای نشان دادن آن خطوط از دستور زیر را اجرا کنید list.txt فایلی که با هر رقمی از شروع می شود4 تا 8

. [!4-8] $ grep

آموزش باش گلوبینگآموزش باش گلوبینگ

list.txt

علامت دلار – ($) ‘$’ روی برای تعریف کاراکتر پایانی استفاده می شود. اگر می دانید می خواهید بر اساس اطلاعات جستجو کنید آخرین کاراکتر سپس می توانید استفاده کنید ‘$’

پیشنهاد می‌کنیم بخوانید:  روش استفاده از دستور Sed با Regex

در الگوی globbing.

مثال – 1: دستور زیر را برای جستجوی آن خطوط از آن اجرا کنید list.txt فایلی که به پایان می رسد‘آ’

.

آموزش باش گلوبینگآموزش باش گلوبینگ

$ grep a$ list.txt

مثال – 2: دستور زیر را برای جستجوی آن خطوط از آن اجرا کنید list.txt فایلی که به شماره ختم می شود50

.

آموزش باش گلوبینگآموزش باش گلوبینگ

$ grep 50$ list.txt

براکت فرفری – ({}) ‘{}’

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

مثال – 1: برای جستجوی فایل هایی که نام آنها 5 کاراکتر و پسوند آن است، دستور زیر را اجرا کنید “ش” یا دو کاراکتر آخر فایل ها هستند ‘st’ و پسوند است‘txt’

.

آموزش باش گلوبینگآموزش باش گلوبینگ

$ ls -l {????.sh،*st.txt}

مثال – 2: دستور زیر را اجرا کنید تا تمام فایل هایی که پسوند آنها هستند حذف شوند“doc” یا “docx”

. $ rm{*.doc،*.docx

آموزش باش گلوبینگآموزش باش گلوبینگ

}

لوله – ( | ) روی ‘|’ علامت همچنین برای اعمال بیش از یک شرط استفاده می شود

الگوی کروی هر الگو با “|” از هم جدا می شود. نماد در دستور

مثال – 1:bashدستور زیر را برای جستجوی نام فایل هایی که با کاراکتر “a” شروع می شوند و پسوند دارند را اجرا کنید.

‘ یا ‘ش’. $ lsآ*+(bash.|.sh

آموزش باش گلوبینگآموزش باش گلوبینگ

)

مثال – 2: bash ایجاد یک فایل به نامbash’منو.و اسکریپت زیر را اضافه کنید. اگر کاربر تایپ کند 1 یا S print سپس آن را انجام خواهد داد“جستجوی متن” . اگر کاربر تایپ کند 2 یا R print سپس آن را انجام خواهد دادجایگزین کردن متن “. اگر کاربر تایپ کند 3 یا D print سپس آن را انجام خواهد داد«حذف متن print “. خواهد شد “دوباره امتحان کن”

برای هر ورودی دیگرbash
echo #!/صندوقچه/
“هر گزینه ای را از منو انتخاب کنید:” خواندن
پاسخ مورد $پاسخ
که در 1 | اس )echo “جستجوی متن”
;; 2 | آر )echo “جایگزینی متن”
;; 3 | D )echo “حذف متن”
;;* echo )“دوباره امتحان کن.”
;;

اساک

اسکریپت را اجرا کنید. bash $bash

آموزش باش گلوبینگآموزش باش گلوبینگ

منو.

نتیجه bash برخی از پرکاربردترین الگوهای globbing در این آموزش با استفاده از مثال های بسیار ساده توضیح داده شده است. امیدوارم پس از تمرین مثال های بالا مفهوم گلوبینگ برای شما روشن شود و بتوانید آن را در

دستورات و اسکریپت ها با موفقیت
برای اطلاعات بیشتر این ویدیو را بررسی کنید:

https://www.youtube.com/watch؟v=1gsRR42pMwc

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

زمان انتشار: 1403-01-01 01:49:05

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

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

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