Введение в массив в Unix
Массив - это структура данных, которая содержит группу элементов, типичных для одного и того же типа данных, таких как строка, целое число, число с плавающей запятой и т. Д. Структура данных массива также доступна в Unix.
- Массив в Unix: это набор элементов, которые могут иметь или не иметь один и тот же тип данных.
- Индекс: Массив начинается с нуля, что означает, что на элементы массива ссылается индекс, начинающийся с нуля.
- Размер: нет максимального ограничения на размер массива
Синтаксис массива в Unix
Существуют разные способы формирования массива в сценариях оболочки. Давайте рассмотрим каждый из них в деталях:
1. Косвенное объявление: здесь значение присваивается определенному индексу на ходу. Пример которого упоминается ниже.
Синтаксис:
array_name(index) = value
2. Явное объявление: сначала объявляется массив, а затем ему присваиваются значения. Declare - это встроенное ключевое слово, а -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' упомянут ниже.
Синтаксис: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)
Выход:
@ - относится ко всем элементам массива
В команде echo $ (first_name (@): 0: 2)
@ рассмотрим все элементы массива. 0 - означает начать с этого конкретного индекса, а 2 отображает количество элементов от начальной точки
2 отображает количество элементов от начальной точки
В этой команде echo $ (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. Это встроенная команда для уничтожения массива или любого элемента массива
Синтаксис:
unset array_name
Код:
unset first_name
9. Удалить элемент по любому конкретному индексу
unset first_name(2)
Это удалит элемент с индексом 2.
10. Для поиска конкретного шаблона в массиве.
Код:
echo $(first_name(@)/*(aA)*/)
Выход:
Здесь first_name (@): относится ко всем элементам массива
/ pattern для поиска /: это шаблон для поиска в массиве или его элементе.
Он вернет 1, если совпадение найдено, и 0, если совпадение не найдено.
11. Искать определенный шаблон и заменять его в заданном массиве.
Код:
echo $(first_name(@)//a/A)
first_name (@): рассмотрим все элементы массива
// шаблон для поиска / замена строки /: поиск и замена строки
Выход:
first_name (2): поиск и замена операций, которые будут выполнены над элементом с индексом 2.
При выполнении операции поиска и замены в исходное значение массива не вносятся изменения. Он возвращает новое значение, которое может храниться в той же или разных переменных.
12. Для выполнения операции над элементами массива мы можем использовать циклы. Как и любой другой язык программирования, оболочка Bourne поддерживает два типа циклов, т.е. цикл for и цикл while. Давайте посмотрим на пример для перебора массива с использованием цикла for.
Код:
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))”
Выход:
Вывод
В основном массив представляет собой набор элементов, хранящихся в смежной области памяти. Целью формирования массива является хранение нескольких элементов одного типа вместе с одинаковыми или разными типами данных. В практическом сценарии, почему структура массива отстает в популярности из-за его несовместимости с различными оболочками и сложными структурами.
Рекомендуемые статьи
Это руководство по массиву в Unix. Здесь мы обсуждаем синтаксис и работу массива в Unix, а также различные примеры и реализацию кода. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
- Прокси-сервер Linux
- Типы оболочек в Linux
- Создать пользователя в Linux
- Unix File System
- Руководство по For Loop в сценариях оболочки