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

سرور مجازی NVMe

یک عنصر خاص را از یک آرایه در Bash حذف کنید

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


Bash فقط آرایه‌های انجمنی و آرایه‌های عددی فهرست‌شده یک بعدی را کنترل می‌کند. در برنامه نویسی Bash، آرایه ها لزوماً از گروهی از عناصر مرتبط تشکیل نمی شوند. عناصر آرایه می توانند رشته ها و اعداد باشند زیرا Bash بین آنها تفاوت قائل نمی شود. در این مقاله عملیات حذف را انجام می دهیم روی آرایه های Bash با رویکردهای مختلف. برای حذف آن از آرایه باید موقعیت شاخص عنصر در آرایه یا کلید را بدانیم. دستور “unset” معمولاً در Bash برای حذف یک عنصر استفاده می شود.

مثال 1: حذف یک عنصر آرایه خاص در اسکریپت Bash

دستور unset برای پاک کردن عنصر خاص از آرایه استفاده می شود. دستور unset به نام متغیری که آرایه در آن تعریف شده است و همچنین شاخص عنصر نیاز دارد. در اسکریپت Bash زیر، ابتدا متغیر MyArray را با استفاده از کلمه کلیدی “declare” با گزینه “-a” ایجاد می کنیم. سپس، متغیر “MyArray” با عناصر رشته درج می شود. سپس، دستور “unset” را برای حذف عنصر آرایه اجرا می کنیم. دستور unset با نام متغیر آرایه، “MyArray” به عنوان آرگومان ارسال می شود. “MyArray” با شاخص تنظیم شده است [2] که عنصر آرایه ای را که در این شاخص قرار می گیرد حذف می کند.

در مرحله بعد دستور echo را داریم که برای نمایش آرایه به روز شده پس از عملیات حذف استفاده می شود. MyArray[@]}”expression برای چاپ آرایه استفاده می شود که در آن نماد “@” نشان دهنده شاخص آرایه است.

#!/صندوقچه/bash

اعلام MyArray=( “پاندا” “جغد” “گربه” “خرگوش” “خرس” )

تنظیم نشده MyArray[2]

اکو ${MyArray[@]}

همانطور که با استفاده از دستور unset مقدار شاخص “2” را از آرایه مشخص شده حذف می کنیم، مقداری که در داخل آرایه در اندیس “2” قرار می گیرد “Cat” است که از آرایه حذف می شود. و آرایه اصلاح شده در خروجی زیر نمایش داده می شود. توجه داشته باشید که شاخص آرایه همیشه از عدد “0” شروع می شود:

یک عنصر خاص را از یک آرایه در Bash حذف کنید

مثال 2: حذف یک عنصر آرایه خاص در اسکریپت Bash از طریق یک فهرست نسبی

اگر از شاخص هایی مانند -1، -2 و غیره استفاده کنیم، عناصر از آخرین عنصر ارجاع داده می شوند روی. بنابراین، ما همچنین می توانیم آنها را برای عناصر قبلی با استفاده از ترتیب نسبی حذف یا تغییر دهیم. بیایید اسکریپت Bash زیر را داشته باشیم، که در آن اولین گام برای اعلام یک متغیر برای یک آرایه استفاده از دستور “declare -a” در Bash است. متغیر آرایه “زبان” نام دارد. چهار زبان برنامه نویسی مختلف را به همراه شماره شاخص داخل آن قرار می دهیم. پس از آن، ما یک دستور Bash unset داریم که در آن متغیر “languages” با شاخص نسبی “-3” تنظیم می شود تا عنصر آرایه حذف شود. سپس، از “${languages[@]}” عبارت برای چاپ آرایه تازه تشکیل شده پس از استفاده از دستور echo. عنصر خاص از آرایه تنظیم نشده است.

#!/bin/usr/env bash

پیشنهاد می‌کنیم بخوانید:  طول رشته را در Bash پیدا کنید

اعلام زبان ها=(
[0]=جاوا
[1]=کوتلین
[2]= پایتون
[3]=اسکالا
)

تنظیم نشده زبان ها[3]
اکو ${زبان[@]}

خروجی آرایه ای را نشان می دهد که در آن مقدار “Kotlin” حذف شده است زیرا شاخص “-3” جهت شاخص معکوس را نشان می دهد که شاخص “1” از ترتیب پیش فرض است. از این رو، ارجاع به موارد خاص در یک آرایه بزرگ داده شده نسبتا ساده تر است.

یک عنصر خاص را از یک آرایه در Bash حذف کنیدیک عنصر خاص را از یک آرایه در Bash حذف کنید

مثال 3: حذف یک عنصر آرایه خاص در اسکریپت Bash با استفاده از Regex

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

سپس، یک آرایه دیگر ایجاد می کنیم که “arr2” است و دو مقدار صحیح که در آرایه اول نیز وجود دارد، “arr1” را وارد می کنیم. پس از این، یک متغیر “نتیجه” تعریف می کنیم که عبارت “${arr1[@]}”) که نشان می دهد که متغیر نتایج دارای تمام عناصر آرایه آرایه “arr1” برای چاپ است. بعد، حلقه for را تنظیم می کنیم که روی تمام عناصر آرایه موجود در آرایه “arr2” تکرار می شود و آنها را در شی “ele” ذخیره می کنیم.

در مرحله بعد، از متغیر “result” استفاده می کنیم که با “(${result[@]/*${ele}*/})” عبارت. نتیجه[@]”expression در اینجا عناصر آرایه “arr1” را ذخیره می کند و عبارت “${ele}” دارای عناصر آرایه “arr2” است. “arr2” با آن عناصر از آرایه “arr1” مطابقت دارد و آنها را از آرایه “arr1” حذف می کند. سپس دستور echo برای نمایش عناصر باقی مانده از آرایه “arr1” مستقر می شود.

#!/صندوقچه/bash

arr1=(11 22 33 44 55 66 77 88 99)
arr2=(22 77)

نتیجه=(${arr1[@]})

برای ele که در ${arr2[@]}; انجام دادن
نتیجه=(${نتیجه[@]/*${ele}*/})
انجام شده

اکو عناصر جدید Arr1 عبارتند از: ${نتیجه[@]}

پس از تطبیق regex، خروجی عنصری را نشان می دهد که در آن عناصر “22” و “77” از “arr1” حذف شده اند.

پیشنهاد می‌کنیم بخوانید:  روش انجام یک عملیات یا عملیات منطقی برای مقایسه اعداد صحیح در اسکریپت پوسته

یک عنصر خاص را از یک آرایه در Bash حذف کنیدیک عنصر خاص را از یک آرایه در Bash حذف کنید

مثال 4: حذف کل آرایه در اسکریپت Bash

از اسکریپت های Bash فوق برای حذف عناصر خاص از آرایه استفاده می شود. همچنین می‌توانیم کل عناصر آرایه را با تعیین متغیر آرایه در دستور unset حذف کنیم. در اینجا، عملیات حذف را در اسکریپت Bash پیاده سازی می کنیم. مرحله اولیه اعلان آرایه است که با دستور “declare -a” انجام دادیم.

متغیر آرایه را به صورت StraArray تعریف می کنیم. سپس آیتم های رشته ای را داخل آرایه اضافه می کنیم. پس از آن، دستور unset را فراخوانی می کنیم که نام آرایه “strArray” را بدون هیچ مقدار شاخص می گیرد. این رویکرد برای حذف کل آرایه در اسکریپت Bash استفاده می شود. در پایان از دو دستور echo برای نمایش آرایه و کلیدهای آرایه استفاده می کنیم.

#!/صندوقچه/bash

اعلام StraArray=( “یک”“دو”“سه”“چهار”“پنج” )

تنظیم نشده StraArray

اکو ${!StrArray[@]}

اکو ${!StrArray[@]}

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

یک عنصر خاص را از یک آرایه در Bash حذف کنیدیک عنصر خاص را از یک آرایه در Bash حذف کنید

مثال 5: حذف یک عنصر آرایه خاص در اسکریپت Bash با رویکردی دیگر

مثال های قبلی از دستور unset برای حذف یک عنصر کامل یا خاص از یک آرایه داده شده استفاده می کنند. در آنجا، ما تکنیک دیگری برای حذف عنصر خاص آرایه بدون استفاده از دستور unset داریم. اسکریپت Bash زیر با آرایه ای که پنج کاراکتر اول را دارد تعریف می شود. آن آرایه در یک متغیر CharArray ذخیره می شود.

سپس متغیر CharArray دوباره فراخوانی می شود و با ${CharArray مشخص می شود.[@]عبارت :1” عبارت عنصری از آرایه را حذف می کند که در اولین رخداد در آرایه وجود دارد زیرا مقدار شاخص “1” به “CharArray” ارائه می شود.[@]”. پس از حذف عنصر مشخص شده از آرایه، دستور echo آرایه ای را تولید می کند که شامل تمام عناصر به جز عنصر حذف شده است.

CharArray=(abcdef)

CharArray=(${CharArray[@]:1})

اکو ${CharArray[@]}

عنصر کاراکتر “a” در آرایه خروجی زیر نشان داده نمی شود زیرا از طریق “${CharArray” حذف می شود.[@]عبارت :1”

یک عنصر خاص را از یک آرایه در Bash حذف کنیدیک عنصر خاص را از یک آرایه در Bash حذف کنید

نتیجه

مقاله حذف یک عنصر خاص از یک آرایه در اسکریپت Bash به صورت مفهومی توضیح داده شده است. در اینجا از دستور unset برای حذف کل آرایه و عنصر خاص از آرایه استفاده کردیم. دستور unset نیز از طریق رویکرد شاخص های نسبی، عنصر را از آرایه حذف می کند. Regex مطابقت نیز برای حذف عنصر از آرایه داده شده است. علاوه بر این، ما Regex مطابقت را برای حذف یک عنصر خاص از یک آرایه اضافه کردیم.

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

زمان انتشار: 1402-12-29 13:45:03

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

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

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