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

سرور مجازی NVMe

Bash substring بعد از یک کاراکتر مشخص

0 2
زمان لازم برای مطالعه: 4 دقیقه


روش استخراج بخشی از یک رشته را “زیر رشته” می نامند. هیچ متد ()substring در Bash برای استخراج زیررشته از یک رشته وجود ندارد، اما زیررشته را می توان با استفاده از استخراج زیر رشته Bash و سایر دستورات لینوکس مانند “awk”، “cut”، “expr” و غیره از یک رشته استخراج کرد. کاربردهای استخراج زیر رشته Bash برای استخراج زیر رشته پس از یک کاراکتر مشخص در این آموزش توضیح داده شده است.

نحو:

نحو استخراج زیر رشته Bash به شرح زیر است:

${variable:offset:length}

در اینجا، متغیر حاوی یک مقدار رشته است. افست حاوی موقعیت شروع رشته اصلی است که رشته فرعی از آنجا استخراج می شود و مقدار افست می تواند هر عدد صحیح مثبت یا منفی باشد. طول شامل طول کل زیر رشته ای است که استخراج می شود.

نمونه های مختلف استخراج زیر رشته

روش های مختلف استخراج زیر رشته بعد از موقعیت مشخص شده رشته اصلی در این قسمت از آموزش نشان داده شده است.

مثال 1: زیر رشته را از ابتدای رشته استخراج کنید

یک فایل Bash با اسکریپت زیر ایجاد کنید که یک رشته فرعی را از یک رشته چند کلمه با استفاده از موقعیت و طول شروع مثبت استخراج می کند. موقعیت شروع روی 0 و طول رشته فرعی روی 4 در اسکریپت تنظیم شده است.

#!/bin/bash

#متغیر رشته را تعریف کنید

mainStr=“Bash یک زبان برنامه نویسی محبوب است”

#متغیر رشته را چاپ کنید

printf “مقدار رشته اصلی:\n$mainStr

#با استخراج از کاراکتر اول یک زیر رشته ایجاد کنید

#رشته اصلی و طول رشته فرعی 4 خواهد بود

subStr=${mainStr:0:4}

مقدار زیر رشته را #چاپ کنید

printf \n\nمقدار رشته فرعی:\n$subStr\n

خروجی زیر پس از اجرای اسکریپت ظاهر می شود. اگر رشته فرعی از موقعیت های 0 با طول 4 از مقدار رشته استخراج شود، مقدار “Bash” است، “Bash یک زبان برنامه نویسی محبوب است”.

پیشنهاد می‌کنیم بخوانید:  Bash while True Loop

Bash substring بعد از یک کاراکتر مشخص

مثال 2: زیر رشته را از وسط رشته استخراج کنید

یک فایل Bash با اسکریپت زیر ایجاد کنید که با استفاده از موقعیت شروع مثبت که بزرگتر از 0 است و مقدار طول مثبت، یک رشته فرعی را از یک رشته چند کلمه استخراج می کند. موقعیت شروع روی 10 و طول رشته فرعی روی 7 تنظیم شده است.

#!/bin/bash

#متغیر رشته را تعریف کنید

mainStr=“Bash یک زبان برنامه نویسی محبوب است”

#متغیر رشته را چاپ کنید

printf “مقدار رشته اصلی:\n$mainStr

#با استخراج از موقعیت 10 یک زیر رشته ایجاد کنید

#رشته اصلی و طول رشته فرعی 7 خواهد بود

subStr=${mainStr:10:7}

مقدار زیر رشته را #چاپ کنید

printf \n\nمقدار رشته فرعی:\n$subStr\n

خروجی زیر پس از اجرای اسکریپت ظاهر می شود. اگر رشته فرعی از 10 موقعیت با طول 7 از مقدار رشته استخراج شود، مقدار “محبوب” است، “Bash یک زبان برنامه نویسی محبوب است”.

Bash substring بعد از یک کاراکتر مشخصBash substring بعد از یک کاراکتر مشخص

مثال 3: زیر رشته را فقط با موقعیت شروع مثبت استخراج کنید

یک فایل Bash با اسکریپت زیر ایجاد کنید که یک رشته فرعی را از یک رشته چند کلمه فقط با استفاده از یک موقعیت شروع مثبت استخراج می کند. موقعیت شروع در فیلمنامه روی 18 تنظیم شده است. اگر مقدار طول تنظیم نشده باشد، قسمت باقی مانده از رشته از موقعیت شروع به عنوان یک رشته فرعی استخراج می شود.

#!/bin/bash

#متغیر رشته را تعریف کنید

mainStr=“Bash یک زبان برنامه نویسی محبوب است”

#متغیر رشته را چاپ کنید

printf “مقدار رشته اصلی:\n$mainStr

#یک زیررشته با استخراج از after ایجاد کنید

موقعیت #هجدهم رشته اصلی

subStr=${mainStr:18}

مقدار زیر رشته را #چاپ کنید

printf \n\nمقدار رشته فرعی:\n$subStr\n

خروجی زیر پس از اجرای اسکریپت ظاهر می شود. مقدار زیر رشته “زبان برنامه نویسی” است اگر رشته فرعی از موقعیت 18 بدون مقدار طول از مقدار رشته استخراج شود، “Bash یک زبان برنامه نویسی محبوب است”.

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

Bash substring بعد از یک کاراکتر مشخصBash substring بعد از یک کاراکتر مشخص

مثال 4: زیر رشته را فقط با موقعیت شروع منفی استخراج کنید

یک فایل Bash با اسکریپت زیر ایجاد کنید که یک رشته فرعی را از یک رشته چند کلمه فقط با استفاده از موقعیت شروع منفی استخراج می کند. موقعیت شروع روی 8- در اسکریپت تنظیم شده است. موقعیت شروع از سمت راست رشته شمارش می شود و اگر از موقعیت شروع منفی استفاده شود، شمارش از 1 شروع می شود.

#!/bin/bash

#متغیر رشته را تعریف کنید

mainStr=“Bash یک زبان برنامه نویسی محبوب است”

#متغیر رشته را چاپ کنید

printf “مقدار رشته اصلی:\n$mainStr

#با استخراج 8 کاراکتر آخر یک زیر رشته ایجاد کنید

#از رشته اصلی

subStr=${mainStr:(-8)}

مقدار زیر رشته را #چاپ کنید

printf \n\nمقدار رشته فرعی:\n$subStr\n

خروجی زیر پس از اجرای اسکریپت ظاهر می شود. اگر رشته فرعی از موقعیت -8 از مقدار رشته استخراج شود، مقدار زیر رشته “زبان” است، “Bash یک زبان برنامه نویسی محبوب است”.

Bash substring بعد از یک کاراکتر مشخصBash substring بعد از یک کاراکتر مشخص

مثال 5: استخراج زیر رشته با موقعیت شروع منفی و طول مثبت

یک فایل Bash با اسکریپت زیر ایجاد کنید که با استفاده از یک موقعیت شروع منفی و یک طول مثبت، یک رشته فرعی را از یک رشته چند کلمه استخراج می کند. موقعیت شروع روی 20- و طول روی اسکریپت 11 تنظیم شده است.

#!/bin/bash

#متغیر رشته را تعریف کنید

mainStr=“Bash یک زبان برنامه نویسی محبوب است”

#متغیر رشته را چاپ کنید

printf “مقدار رشته اصلی:\n$mainStr

#یک زیر رشته با استخراج از موقعیت بیستم و

#از سمت راست رشته اصلی و طول

#رشته ۱۱ کاراکتر است

subStr=${mainStr:(-20):11}

مقدار زیر رشته را #چاپ کنید

printf \n\nمقدار رشته فرعی:\n$subStr\n

خروجی زیر پس از اجرای اسکریپت ظاهر می شود. اگر رشته فرعی از موقعیت 20- با طول 11 از مقدار رشته استخراج شود، مقدار “برنامه نویسی” است، “Bash یک زبان برنامه نویسی محبوب است”.

Bash substring بعد از یک کاراکتر مشخصBash substring بعد از یک کاراکتر مشخص

نتیجه

روش های مختلف استخراج زیر رشته از داده های رشته با استفاده از اسکریپت Bash در این آموزش با استفاده از مثال های ساده نشان داده شده است.

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

زمان انتشار: 1402-12-28 19:09:03

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

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

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