از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Bash substring بعد از یک کاراکتر مشخص
سرفصلهای مطلب
روش استخراج بخشی از یک رشته را “زیر رشته” می نامند. هیچ متد ()substring در Bash برای استخراج زیررشته از یک رشته وجود ندارد، اما زیررشته را می توان با استفاده از استخراج زیر رشته Bash و سایر دستورات لینوکس مانند “awk”، “cut”، “expr” و غیره از یک رشته استخراج کرد. کاربردهای استخراج زیر رشته Bash برای استخراج زیر رشته پس از یک کاراکتر مشخص در این آموزش توضیح داده شده است.
نحو:
نحو استخراج زیر رشته Bash به شرح زیر است:
در اینجا، متغیر حاوی یک مقدار رشته است. افست حاوی موقعیت شروع رشته اصلی است که رشته فرعی از آنجا استخراج می شود و مقدار افست می تواند هر عدد صحیح مثبت یا منفی باشد. طول شامل طول کل زیر رشته ای است که استخراج می شود.
نمونه های مختلف استخراج زیر رشته
روش های مختلف استخراج زیر رشته بعد از موقعیت مشخص شده رشته اصلی در این قسمت از آموزش نشان داده شده است.
مثال 1: زیر رشته را از ابتدای رشته استخراج کنید
یک فایل Bash با اسکریپت زیر ایجاد کنید که یک رشته فرعی را از یک رشته چند کلمه با استفاده از موقعیت و طول شروع مثبت استخراج می کند. موقعیت شروع روی 0 و طول رشته فرعی روی 4 در اسکریپت تنظیم شده است.
#متغیر رشته را تعریف کنید
mainStr=“Bash یک زبان برنامه نویسی محبوب است”
#متغیر رشته را چاپ کنید
printf “مقدار رشته اصلی:\n$mainStr“
#با استخراج از کاراکتر اول یک زیر رشته ایجاد کنید
#رشته اصلی و طول رشته فرعی 4 خواهد بود
subStr=“${mainStr:0:4}“
مقدار زیر رشته را #چاپ کنید
printf “\n\nمقدار رشته فرعی:\n$subStr\n“
خروجی زیر پس از اجرای اسکریپت ظاهر می شود. اگر رشته فرعی از موقعیت های 0 با طول 4 از مقدار رشته استخراج شود، مقدار “Bash” است، “Bash یک زبان برنامه نویسی محبوب است”.
مثال 2: زیر رشته را از وسط رشته استخراج کنید
یک فایل Bash با اسکریپت زیر ایجاد کنید که با استفاده از موقعیت شروع مثبت که بزرگتر از 0 است و مقدار طول مثبت، یک رشته فرعی را از یک رشته چند کلمه استخراج می کند. موقعیت شروع روی 10 و طول رشته فرعی روی 7 تنظیم شده است.
#متغیر رشته را تعریف کنید
mainStr=“Bash یک زبان برنامه نویسی محبوب است”
#متغیر رشته را چاپ کنید
printf “مقدار رشته اصلی:\n$mainStr“
#با استخراج از موقعیت 10 یک زیر رشته ایجاد کنید
#رشته اصلی و طول رشته فرعی 7 خواهد بود
subStr=“${mainStr:10:7}“
مقدار زیر رشته را #چاپ کنید
printf “\n\nمقدار رشته فرعی:\n$subStr\n“
خروجی زیر پس از اجرای اسکریپت ظاهر می شود. اگر رشته فرعی از 10 موقعیت با طول 7 از مقدار رشته استخراج شود، مقدار “محبوب” است، “Bash یک زبان برنامه نویسی محبوب است”.
مثال 3: زیر رشته را فقط با موقعیت شروع مثبت استخراج کنید
یک فایل Bash با اسکریپت زیر ایجاد کنید که یک رشته فرعی را از یک رشته چند کلمه فقط با استفاده از یک موقعیت شروع مثبت استخراج می کند. موقعیت شروع در فیلمنامه روی 18 تنظیم شده است. اگر مقدار طول تنظیم نشده باشد، قسمت باقی مانده از رشته از موقعیت شروع به عنوان یک رشته فرعی استخراج می شود.
#متغیر رشته را تعریف کنید
mainStr=“Bash یک زبان برنامه نویسی محبوب است”
#متغیر رشته را چاپ کنید
printf “مقدار رشته اصلی:\n$mainStr“
#یک زیررشته با استخراج از after ایجاد کنید
موقعیت #هجدهم رشته اصلی
subStr=“${mainStr:18}“
مقدار زیر رشته را #چاپ کنید
printf “\n\nمقدار رشته فرعی:\n$subStr\n“
خروجی زیر پس از اجرای اسکریپت ظاهر می شود. مقدار زیر رشته “زبان برنامه نویسی” است اگر رشته فرعی از موقعیت 18 بدون مقدار طول از مقدار رشته استخراج شود، “Bash یک زبان برنامه نویسی محبوب است”.
مثال 4: زیر رشته را فقط با موقعیت شروع منفی استخراج کنید
یک فایل Bash با اسکریپت زیر ایجاد کنید که یک رشته فرعی را از یک رشته چند کلمه فقط با استفاده از موقعیت شروع منفی استخراج می کند. موقعیت شروع روی 8- در اسکریپت تنظیم شده است. موقعیت شروع از سمت راست رشته شمارش می شود و اگر از موقعیت شروع منفی استفاده شود، شمارش از 1 شروع می شود.
#متغیر رشته را تعریف کنید
mainStr=“Bash یک زبان برنامه نویسی محبوب است”
#متغیر رشته را چاپ کنید
printf “مقدار رشته اصلی:\n$mainStr“
#با استخراج 8 کاراکتر آخر یک زیر رشته ایجاد کنید
#از رشته اصلی
subStr=“${mainStr:(-8)}“
مقدار زیر رشته را #چاپ کنید
printf “\n\nمقدار رشته فرعی:\n$subStr\n“
خروجی زیر پس از اجرای اسکریپت ظاهر می شود. اگر رشته فرعی از موقعیت -8 از مقدار رشته استخراج شود، مقدار زیر رشته “زبان” است، “Bash یک زبان برنامه نویسی محبوب است”.
مثال 5: استخراج زیر رشته با موقعیت شروع منفی و طول مثبت
یک فایل Bash با اسکریپت زیر ایجاد کنید که با استفاده از یک موقعیت شروع منفی و یک طول مثبت، یک رشته فرعی را از یک رشته چند کلمه استخراج می کند. موقعیت شروع روی 20- و طول روی اسکریپت 11 تنظیم شده است.
#متغیر رشته را تعریف کنید
mainStr=“Bash یک زبان برنامه نویسی محبوب است”
#متغیر رشته را چاپ کنید
printf “مقدار رشته اصلی:\n$mainStr“
#یک زیر رشته با استخراج از موقعیت بیستم و
#از سمت راست رشته اصلی و طول
#رشته ۱۱ کاراکتر است
subStr=“${mainStr:(-20):11}“
مقدار زیر رشته را #چاپ کنید
printf “\n\nمقدار رشته فرعی:\n$subStr\n“
خروجی زیر پس از اجرای اسکریپت ظاهر می شود. اگر رشته فرعی از موقعیت 20- با طول 11 از مقدار رشته استخراج شود، مقدار “برنامه نویسی” است، “Bash یک زبان برنامه نویسی محبوب است”.
نتیجه
روش های مختلف استخراج زیر رشته از داده های رشته با استفاده از اسکریپت Bash در این آموزش با استفاده از مثال های ساده نشان داده شده است.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-28 19:09:03