Въведение в масива в Unix

Масивът е структура на данни, която съдържа група от елементи, които са типични за един и същ тип данни, като низ, цяло число, плаващ и т.н. Структурата на данните на масива също е достъпна в Unix.

  • Масив в Unix: Колекцията от елементи може да бъде или да не е от един и същ тип данни.
  • Индекс: Масивът е базиран на нула, което означава, че елементите от масива се реферират от индекса, започващ от нула.
  • Размер: Няма максимално ограничение за размера на масива

Синтаксис на масив в Unix

Има различни начини за формиране на масив в скриптовете на черупките. Нека да разгледаме подробно всеки от тях:

1. Косвена декларация: Тук се задава стойност за определен индекс в движение. Пример за това е споменат по-долу.

Синтаксис:

array_name(index) = value

2. Изрична декларация: Първо, масивът се декларира и след това стойностите му се присвояват. Деклариране е вградена ключова дума и -a е опция за четене на вградена, която позволява четене и задаване на стойности.

Синтаксис:

declare -a array_name

3. Присвояване на съединение: Тук масивът се декларира с множество стойности наведнъж.

Синтаксис:

array_name = (value1 value2 value3 . . . valueN)

Или

array_name = ((0)=value1, (1)=value2, (2)=value3..)

Тук индексът не е задължителен, ако индексът не е предоставен, стойността е присвоена на последния индекс плюс един

Как работи масивът в Unix?

Научихме различните начини за създаване на масив в Unix, нека сега да продължим напред и да видим различни операции, които могат да се извършват в масива на Unix.

1. Ще създадем масива от имена

2. За достъп до всички елементи на масива използвайте (*) или (@)

Код:

echo $(first_name(*))
echo $(first_name(@))

Забележка: командата echo е вградена команда в Unix, която се използва за показване на текста или низ, който се предава като аргумент на командата. Синтаксисът на 'ехо' е споменат по-долу.

Синтаксис:

echo (options) (arguments)

3. За достъп до всеки конкретен елемент от низа, използвайки неговия индекс.

Код:

echo $(first_name(0))
echo $(first_name(1))
echo $(first_name(2))

изход:

Забележка: () къдравите скоби се използват за обозначаване на съдържанието на масива.

4. За да отпечатате елементите в диапазон. Синтаксисът за същото е следният:

Синтаксис:

echo $array_name(which element):starting_index:count_element)

Нека се запознаем със същото.

Код:

echo $(first_name(@):0:2)
echo $(first_name(@):2:3)
echo $(first_name(0):1:2)

изход:

@ - се отнася до всички елементи на масива
В командата ехо $ (first_name (@): 0: 2)
@ разгледайте всички елементи на масива. 0 - означава да започнете с този конкретен индекс и 2 показва броя на елементите от началната точка
2 показва редица елементи от началната точка

В тази команда ехо $ (first_name (0): 1: 2)
0 - помислете за 0 -ия елемент от масива. 1- е началната точка и 2 - е броят на броя на елементите от началната точка

5. За да получите размера на масива

Код:

echo $(#first_name(@))
or
echo $(#first_name(*))

изход:


Забележка: # се използва за намиране на дължината на конкретен елемент от масива.

6. За да намерите дължината на конкретен елемент от масива

Код:

echo $(#first_name(0))

Резултат :

7. За да получите индекса на масива, използвайте командата по-долу.

Код:

echo $(!first_name(@))

изход:


Забележка :! се използва за получаване на индекса на масива.

8. За изтриване на масива в командата за премахване на скрипта се използва. Това е вградена команда за унищожаване на масив или който и да е елемент от масива

Синтаксис:

unset array_name

Код:

unset first_name

9. За да изтриете елемент във всеки конкретен индекс

unset first_name(2)

Това ще изтрие елемента в индекс 2.

10. За търсене на определен модел в масива.

Код:

echo $(first_name(@)/*(aA)*/)

изход:

Тук, first_name (@): се отнася до всички елементи на масива
/ шаблон за търсене /: Това е шаблонът, който трябва да се търси в масива или неговия елемент.
Той ще върне 1, ако съвпадението бъде намерено и 0, ако не е намерено съвпадение.

11. За да търсите конкретен модел и да го замените в дадения масив.

Код:

echo $(first_name(@)//a/A)

first_name (@): Обмислете всички елементи на масива
// шаблон за търсене / низ за заместване /: низ за търсене и замяна

изход:

first_name (2): Търсене и замяна на операции, които ще бъдат извършени върху елемента с индекс 2.

По време на операцията за търсене и замяна няма промени, направени в първоначалната стойност на масива. Тя връща нова стойност, която може да бъде съхранена в същите или различни променливи.

12. За да извършим операция върху елементите на масива, можем да използваме Loops. Както всеки друг език за програмиране, Bourne shell поддържа два типа контури, т.е. за цикъл и while цикъл. Нека разгледаме пример за итерация над масив, използващ за цикъл.

Код:

Arr = (1 2 3 4 5)
for i in “$(Arr(@))”
do
echo $i
done

Резултат :

По подобен начин можете да повторите през масив, като използвате и цикъл while.

Моля, имайте предвид, че в Unix има различни различни видове черупки като Bash, K shell, Bourne shell и др. Shell не е нищо друго, освен интерфейс към Unix системи с различни набори команди и функции. И така, на базата на различни типове черупки има различни синтаксиси, свързани с масива и неговите операции с лек вариант в синтаксиса на командите, които са разгледани по-горе.

Bash Shell позволява операциите с масив и на променливите, без променливите да бъдат изрично декларирани като масив. Нека разгледаме примера, за да разберем по-добре горното твърдение.

Код:

String_variable = India is a democratic country
echo “$(string(0))”

изход:

заключение

По същество масивът е съвкупност от елементи, съхранявани в непрекъснато място на паметта. Целта зад формирането на масив е да съхранява няколко елемента от един и същ тип заедно с едни и същи или различни типове данни. В практически сценарий защо структурата на масив изостава в популярността се дължи на липсата на съвместимост с различни обвивки и сложни структури.

Препоръчителни статии

Това е ръководство за Array в Unix. Тук обсъждаме синтаксиса и работата на масива в Unix, заедно с различни примери и реализация на код. Можете също да разгледате следните статии, за да научите повече -

  1. Linux прокси сървър
  2. Видове черупки в Linux
  3. Създаване на потребител в Linux
  4. Файлова система Unix
  5. Ръководство за цикъл в скриптове на Shell