از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
آموزش باش گلوبینگ
سرفصلهای مطلب
Bash از عبارات منظم بومی مانند برخی دیگر از زبان های برنامه نویسی استاندارد پشتیبانی نمی کند. ویژگی پوسته Bash که برای تطبیق یا گسترش انواع خاصی از الگوها استفاده می شود، globbing نامیده می شود. Globbing عمدتا برای مطابقت با نام فایل ها یا جستجوی محتوای یک فایل استفاده می شود. Globbing از کاراکترهای wildcard برای ایجاد الگو استفاده می کند. رایج ترین کاراکترهای عام که برای ایجاد الگوهای globbing استفاده می شوند در زیر توضیح داده شده اند.
علامت سوال – (؟)
“؟” برای مطابقت با هر شخصیت استفاده می شود. شما می توانید استفاده کنید “؟” برای چندین بار برای تطبیق چندین کاراکتر.
مثال-1:
فرض کنید می خواهید نام فایل های متنی را جستجو کنید که نام آنها 4 کاراکتر و پسوند آنها است txt. با استفاده از ‘ می توانید الگوی globbing را اعمال کنید?چهار بار برای انجام این کار.
لیست تمام فایل ها و پوشه های دایرکتوری فعلی را پیدا کنید.
دستور زیر را اجرا کنید و فایل هایی که نام آنها چهار کاراکتر و ناشناخته است را جستجو کنید.
مثال-2:
فرض کنید میخواهید آن فایلهای سندی را جستجو کنید که نامشان 8 کاراکتر است، 4 کاراکتر اول f، o، o و تی و پسوند است سند. برای جستجوی فایل ها دستور زیر را با الگوی globbing اجرا کنید.
مثال-3:
فرض کنید، شما می دانید که نام فایل است ‘بهترین’ و پسوند 3 کاراکتر است، اما پسوند را نمی دانم. با استفاده از دستور زیر را اجرا کنید ‘؟برای جستجوی همه فایلهای با نام «test» با هر پسوند سه کاراکتری.
ستاره –
‘*’ برای تطبیق صفر یا چند کاراکتر استفاده می شود. اگر اطلاعات کمتری برای جستجوی هر فایل یا اطلاعاتی دارید، می توانید از آن استفاده کنید ‘*’
در الگوی globbing.
مثال -1: فرض کنید، می خواهید همه فایل های آن را جستجو کنید ‘pl’ افزونه. با استفاده از دستور زیر را اجرا کنید ‘*’
.pl
مثال-2: فرض کنید، شما می دانید که کاراکتر شروع نام فایل فقط کدام است‘آ’ . دستور زیر را با استفاده از ‘*’ اجرا کنید تا تمام فایل های دایرکتوری فعلی که نام آنها با آن شروع شده است را جستجو کنید‘آ’
*
مثال-3: bash می توانید ‘*’ را در آن اعمال کنید bash اسکریپت برای اهداف مختلف بدون جستجو در فایل ها. ایجاد یک فایل به نام “check.sh”با اسکریپت زیر در اینجا، زمانی که کاربر تایپ خواهد کرد y یا «Y» یا «بله» یا «بله» سپس ‘تایید شده’ print اراده و زمانی که نوع تایپ خواهد شد “ن” یا “ن” یا “نه” یا “نه” سپس ‘تأیید نشده’ printاراده
echo #!/صندوقچه/
“میخوای تایید کنی؟” خواندن
پاسخ مورد $پاسخ
[Yy]که در * )echo “تایید شده.”
[Nn];; * )echo “تأیید نشده.”
;;* echo )“دوباره امتحان کن.”
;;
اساک
چک.ش[]براکت مربع – (
)[]’ ‘
برای مطابقت با کاراکتر از محدوده استفاده می شود. برخی از پرکاربردترین اعلانهای محدوده در زیر ذکر شدهاند. [:upper:] همه حروف بزرگ با محدوده به صورت زیر تعریف می شوند: [A-Z] یا
. [:lower:] همه حروف کوچک با محدوده به صورت زیر تعریف می شوند: [a-z]یا
. [:digit:] همه ارقام عددی توسط محدوده به صورت زیر تعریف می شوند [0-9]یا
. [:alpha:] همه حروف بزرگ و کوچک با محدوده به صورت زیر تعریف می شوند: [a-zA-z]یا
. [:alnum:] همه حروف بزرگ، حروف کوچک و اعداد با محدوده به صورت زیر تعریف می شوند: [a-zA-Z0-9]
یا
مثال -1: دستور زیر را برای جستجوی همه فایل ها و پوشه هایی که نام آنها شامل می شود را اجرا کنید پ یا q یا r یاس
*
مثال-2:
*
Caret – (^) شما می توانید استفاده کنید ‘^’ با براکت مربع برای تعریف بیشتر الگوی globbing. ‘^’ را می توان در داخل یا خارج از براکت مربع استفاده کرد. ‘^’ در خارج از براکت مربع برای جستجوی محتویات فایلی که با محدوده مشخصی از کاراکترها شروع می شود استفاده می شود. ‘^’ در داخل براکت استفاده می شود تا تمام محتوای فایل را با برجسته کردن خطوطی که با محدوده مشخصی از کاراکترها شروع می شوند نشان دهد. شما می توانید از انواع مختلف الگوهای globbing برای جستجوی محتوای خاص از یک فایل استفاده کنید. “گرپ” bashاز دستور برای جستجوی محتوا استفاده می شود . فرض کنید، یک فایل متنی به نام دارید “list.txt”
سیب
4000
موز
700
نارنجی
850
گلابی
9000
جکدروت
مثال – 1: دستور زیر را برای جستجوی آن خطوط از آن اجرا کنید list.txt فایلی که باP یا Q یا R
‘ list.txt
مثال – 2: دستور زیر را اجرا کنید تا آن خطوط را برجسته کنید list.txt فایلی که باالف یا ب یا ج
‘ list.txt
علامت تعجب – (!) شما می توانید استفاده کنید ‘!’ داخل الگوی محدوده مانند استفاده از نماد ‘^’ در خارج از الگوی محدوده کار می کند. چند نمونه از استفاده ‘!’
علامت در زیر آورده شده است.
مثال – 1: برای نشان دادن آن خطوط از دستور زیر را اجرا کنید list.txt فایلی که باP یا Q یا R
list.txt
مثال – 2: برای نشان دادن آن خطوط از دستور زیر را اجرا کنید list.txt فایلی که با هر رقمی از شروع می شود4 تا 8
list.txt
علامت دلار – ($) ‘$’ روی برای تعریف کاراکتر پایانی استفاده می شود. اگر می دانید می خواهید بر اساس اطلاعات جستجو کنید آخرین کاراکتر سپس می توانید استفاده کنید ‘$’
در الگوی 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”
}
لوله – ( | ) روی ‘|’ علامت همچنین برای اعمال بیش از یک شرط استفاده می شود
الگوی کروی هر الگو با “|” از هم جدا می شود. نماد در دستور
مثال – 1:bashدستور زیر را برای جستجوی نام فایل هایی که با کاراکتر “a” شروع می شوند و پسوند دارند را اجرا کنید.
)
مثال – 2: bash ایجاد یک فایل به نامbash’منو. ‘ و اسکریپت زیر را اضافه کنید. اگر کاربر تایپ کند 1 یا S print سپس آن را انجام خواهد داد“جستجوی متن” . اگر کاربر تایپ کند 2 یا R print سپس آن را انجام خواهد داد“جایگزین کردن متن “. اگر کاربر تایپ کند 3 یا D print سپس آن را انجام خواهد داد«حذف متن print “. خواهد شد “دوباره امتحان کن”
echo #!/صندوقچه/
“هر گزینه ای را از منو انتخاب کنید:” خواندن
پاسخ مورد $پاسخ
که در 1 | اس )echo “جستجوی متن”
;; 2 | آر )echo “جایگزینی متن”
;; 3 | D )echo “حذف متن”
;;* echo )“دوباره امتحان کن.”
;;
اساک
منو.
نتیجه bash برخی از پرکاربردترین الگوهای globbing در این آموزش با استفاده از مثال های بسیار ساده توضیح داده شده است. امیدوارم پس از تمرین مثال های بالا مفهوم گلوبینگ برای شما روشن شود و بتوانید آن را در
دستورات و اسکریپت ها با موفقیت
برای اطلاعات بیشتر این ویدیو را بررسی کنید:
https://www.youtube.com/watch؟v=1gsRR42pMwc
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1403-01-01 01:49:05