از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Bash رشته را به آرایه تقسیم می کند
سرفصلهای مطلب
مثال 01
ما یک متغیر “str” را در پوسته با مقدار رشته ای در آن اعلام کرده ایم. در اینجا، از متغیر “IFS” به عنوان جداکننده برای تقسیم رشته “str” استفاده کردیم. جداکننده “IFS” حاوی “فضا” به عنوان مقدار آن است. این بدان معناست که رشته با استفاده از فاصله بین مقادیر آن به یک آرایه تقسیم می شود. اکنون، حلقه “for” در اینجا برای تکرار رشته “str” استفاده می شود. در بند “do”، هر عنصر از متغیر “str” به عنوان یک آرایه نمایش داده می شود. پس از پایان حلقه، terminal رشته را به صورت آرایه ای مطابق تصویر زیر نمایش می دهد.
مثال 02
بیایید مثال دیگری بزنیم تا خروجی کمی متفاوت داشته باشیم. شما می توانید به وضوح ببینید که رشته شامل کاراکتر “,” بعد از هر کلمه در آن است. این کاراکتر ویژه به عنوان یک جداکننده استفاده خواهد شد. بنابراین، ما “،” را به عنوان یک مقدار برای متغیر “IFS” اعلام کرده ایم.
]حلقه “for” دوباره در اینجا برای تکرار متغیر رشته “str” مقداردهی اولیه شده است. در بند “do” حلقه “for” از دستور echo برای نمایش هر کلمه به طور جداگانه با عدد شاخص که با مقدار متغیر “IFS” جدا شده است استفاده شده است. پس از پایان حلقه، برنامه هر کلمه از رشته را به صورت جداگانه در قالب یک آرایه نمایش می دهد. کاراکتر “,” مسئول این نوع تقسیم بین مقادیر رشته است. در نتیجه، ما 5 مقدار را در قالب یک آرایه از یک متغیر رشته ای “str” دریافت کرده ایم.
مثال 03
بیایید مثال دیگری از تقسیم یک رشته به یک آرایه در داخل داشته باشیم bash فایل. بنابراین، شما باید یک ایجاد کنید bash فایل “test.sh” را با یک پرس و جو لمسی در پوسته، همانطور که در زیر ذکر شده است.
حالا فایل جدید ایجاد شده را در یک ویرایشگر باز کنید تا a بنویسید bash اسکریپت در آن ما از “GNU Nano” ویرایشگر برای این منظور. می توانید از ویرایشگر vim نیز استفاده کنید.
در داخل bash فایل را اضافه کرده ایم bash ابتدا پسوند این کد را قابل اجرا می کند bash فرمان در پوسته پس از آن، یک متغیر “str” با مقدار رشته طولانی در آن اعلام و مقداردهی اولیه شده است. متغیر “IFS” اعلام شده و با مقدار “space” تخصیص داده شده است. دستور read در اینجا برای خواندن دادهها از متغیر رشتهای «str» بهعنوان یک آرایه با کمک پرچم «-ra» و ذخیره در متغیر جدید «Arr» استفاده شده است.
دستور echo اندازه یک متغیر Arr، یعنی آرایه را محاسبه و نمایش می دهد. حلقه “for” در اینجا برای تکرار مقادیر مقادیر آرایه است، به عنوان مثال، “Arr” در یک دنباله و در داخل پوسته با استفاده از دستور printf نمایش داده می شود. برنامه در اینجا به پایان می رسد. کد خود را با “Ctrl+S” ذخیره کنید و با استفاده از میانبر “Ctrl+X” از ویرایشگر خارج شوید.
تازه ایجاد شده خود را اجرا کنید bash اسکریپت با bash دستور به همراه نام a bash فایل، به عنوان مثال، “test.sh”. اعدام از bash اسکریپت ابتدا اندازه یک رشته “str” یعنی آرایه را نشان می دهد. پس از آن، terminal مقادیر یک متغیر رشته ای را در قالب یک آرایه نمایش می دهد، یعنی هر کلمه جدا شده است. در مجموع 9 کلمه نمایش داده شده است روی پوسته، همانطور که در زیر نشان داده شده است.
مثال 04
بیایید یک تصویر دیگر برای تقسیم یک رشته به یک آرایه ایجاد کنیم. بنابراین، همان فایل کد را باز کنید و متغیر رشته “str” را به روز کنید. ما 6 کلمه در رشته اضافه کرده ایم که با کاما از هم جدا شده اند. این کاما به عنوان جداکننده در متغیر “IFS” استفاده خواهد شد. دستور read عبارت است از خواندن کلمات یک رشته “str” به عنوان یک آرایه به طور جداگانه و ذخیره هر یک از آنها در یک متغیر “Arr”. جداکننده در اینجا کار می کند و هر کلمه را از یک رشته جدا می کند.
از 6 عبارت پژواک در اینجا برای نمایش هر مقدار از متغیر “Arr” با استفاده از نمایه های کلمات استفاده شده است. در تصویر نشان داده شده می توانید نحوی را برای گرفتن هر مقدار بر اساس شاخص مشاهده کنید.
پس از اجرای کد در پوسته با کمک a bash پرس و جو، ما 6 خط خروجی داریم. هر کلمه از یک رشته به طور جداگانه در متغیر آرایه “Arr” ذخیره می شود و با کمک ایندکس ها نمایش داده می شود.
مثال 05
بیایید آخرین مثال خود را از تقسیم یک مقدار رشته به یک آرایه داشته باشیم. این بار، ما از متغیر “IFS” به عنوان جداکننده برای تقسیم یک رشته استفاده نمی کنیم. ما از پرچم “tr” برای این کار استفاده خواهیم کرد. بنابراین، فایل test.sh را در یک ویرایشگر نانو باز کنید تا آن را به روز کنید. اضافه کردن bash پسوند در خط اول
متغیر نوع رشته “str” مقداردهی اولیه شده است. متغیر دیگر، “Arr” از مقدار متغیر “str” استفاده می کند و با استفاده از پرچم “tr” آن را به قطعات تقسیم می کند. جداکننده “tr” حاوی فاصله به عنوان مقدار آن است. حلقه “for” مقادیر متغیر “Arr” را با کمک شاخص ها تکرار می کند. هر مقدار به صورت جداگانه در قالب یک آرایه نمایش داده می شود.
پس از اجرای bash کد، نتیجه را به صورت آرایه ای دریافت کرده ایم. هر کلمه در یک رشته “str” جدا شده و به یک مقدار مستقل، یعنی عنصر Array تبدیل می شود.
نتیجه
در این مقاله چندین مثال برای تقسیم مقدار رشته به آرایه مورد بحث قرار داده ایم. برای این منظور از متغییر جداکننده «IFS» و «tr» استفاده کرده ایم. همه مثال ها کاملاً قابل درک هستند و بدون هیچ مشکلی قابل پیاده سازی هستند.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 08:45:03