Вопросы с тегом «array»

Массив - это самая простая структура данных для хранения элементов в непрерывной памяти.

68
Есть ли способ чтения последнего элемента массива с помощью bash?

Если у меня есть массив с 5 элементами, например: [a][b][c][d][e] Используя echo ${myarray[4]}я могу видеть, что он держит. Но что, если я не знаю количество элементов в данном массиве? Есть ли способ прочитать последний элемент массива неизвестной длины? т.е. первое чтение элемента справа налево...

58
Как посчитать длину массива, определенного в Bash?

Я новичок в Bash и не могу найти хороший учебник, чтобы ответить на мой вопрос. array=( item1 item2 item3) for name in ${array[@]}; do echo current/total ... some other codes done Я хочу вычислить «текущее» и «общее» значение как ожидаемый результат: 1/3 2/3 3/3 Спасибо за любые...

48
Как я могу полностью удалить элемент из массива?

unset array[0]удаляет элемент, но все же, если я это сделаю, echo ${array[0]}я получаю нулевое значение, более того, есть другие способы сделать это, но если элемент массива содержит пробелы, как показано ниже array[0]='james young' array[1]='mary' array[2]='randy orton' но они также не в состоянии...

40
Преобразовать массив в аргументы команды?

У меня есть массив «опций» команды. my_array=(option1 option2 option3) Я хочу вызвать эту команду в скрипте bash, используя значения из массива в качестве параметров. Итак, command $(some magic here with my_array) "$1"становится: command -option1 -option2 -option3 "$1" Как я могу это сделать?...

37
«Синтаксическая ошибка:« («неожиданно» при создании массива

У меня есть два (Debian) сервера Linux. Я создаю сценарий оболочки. На первом я создаю массив таким образом: #!/bin/bash target_array=( "/home/user/direct/filename -p123 -r" ) Это отлично работает. Но когда я запускаю это на другом сервере, я получаю: Syntax error: "(" unexpected Насколько я могу...

27
Есть ли причина, по которой первый элемент массива Zsh индексируется 1 вместо 0?

Исходя из моего опыта работы с современными языками программирования и сценариев, я полагаю, что большинство программистов обычно привыкли ссылаться на первый элемент массива 0 как индекс. Есть ли существенные преимущества в использовании 1 ? Я уверен, что слышал о большем количестве языков, кроме...

26
Массивы в Unix Bourne Shell

Я пытаюсь использовать массивы в оболочке Bourne ( /bin/sh). Я обнаружил, что способ инициализации элементов массива: arr=(1 2 3) Но он сталкивается с ошибкой: syntax error at line 8: `arr=' unexpected Теперь в посте, где я нашел этот синтаксис, говорится, что он предназначен bash, но я не смог...

26
Есть ли способ перечислить все «идентификаторы индексов» (ключей) в переменной bash ассоциативного массива?

У меня есть этот массив: declare -A astr Я добавляю элементы к нему: astr[elemA]=123 astr[elemB]=199 Но позже мне нужно знать, что такое идентификаторы индексов (elemA и elemB) и перечислить их. echo "${astr[@]}" #this only get me the...

22
Возможная ошибка в Bash ?: foo () {echo «$ {var [0]}»; }; var = (bar baz) foo

ОС : Ubuntu 16.04.3 Оболочка : Bash 4.3.48 Я знаю, что возможно временно изменить содержимое переменной, как var=value command, вероятно, IFS= read -r varнаиболее заметный случай этого. И, благодаря вики Грега , я также понимаю: # Why this foo() { echo "$var"; } var=value foo # And this does work...

18
Удалить массив в awk

В awk я могу очистить массив с помощью цикла, сделав его пустым, что эквивалентно его удалению. for (key in array) delete array[key]; Есть ли более простой способ? Можно ли полностью удалить массив, чтобы имя переменной можно было повторно использовать для...

17
Какой тип операции находится в / $ / в «$ {my_array [@] / # / -}»?

Принятый ответ Преобразовать массив в аргументы команды? использует следующую команду Bash: command "${my_array[@]/#/-}" "$1" Я пытаюсь выяснить, что именно /#/-делает эта часть. К сожалению, я не знаю, как это назвать, поэтому мне сложно найти какую-либо документацию. Я просмотрел раздел...

17
BASH ассоциативная матричная печать

Есть ли способ напечатать весь массив ([ключ] = значение) без зацикливания на всех элементах? Предположим, я создал массив с некоторыми элементами: declare -A array array=([a1]=1 [a2]=2 ... [b1]=bbb ... [f500]=abcdef) Я могу напечатать весь массив с for i in "${!array[@]}" do echo...

15
В чем разница между @ и * при обращении к значениям массива bash?

Это руководство Bash говорит: Если номер индекса равен @ или *, на все элементы массива ссылаются. Когда я делаю это: LIST=(1 2 3) for i in "${LIST[@]}"; do echo "example.$i " done Дает: example.1 example.2 example.3(желаемый результат). Но когда я использую ${LIST[*]}, я получаю example.1 2...

15
Как проверить, все ли элементы массива равны в bash?

Следующий массив представляет количество дисков на каждой машине Linux Каждый отдельный массив содержит количество дисков на компьютере с Linux . echo ${ARRAY_DISK_Quantity[*]} 4 4 4 4 2 4 4 4 Какой простой способ определить, что все значения массива равны? Хороший статус: 4 4 4 4 4 4 4 4 Плохой...

15
Как проверить, находится ли элемент в массиве bash?

Помощь по простому скрипту #!/bin/bash array1=( prova1 prova2 slack64 ) a="slack64" b="ab" if [ $a = $b ] then echo "$a = $b : a is equal to b" else echo "$a = $b: a is not equal to b" fi Этот скрипт просто не работает, я хочу скрипт, который проверяет, присутствует ли slack64 в списке (я использую...

13
В чем разница между $ path и $ PATH (строчными и прописными) в zsh?

В FreeBSD 12, используя zshоболочку, я заметил эту разницу, когда смотрю на $path(строчные буквы) и $PATH(прописные). echo $path / sbin / bin / usr / sbin / usr / bin / usr / local / sbin / usr / local / bin / usr / home / freebsd / bin echo $PATH / SBIN: / бен: / USR / SBIN: / USR / бен: / USR /...

13
разобрать одно поле из массива JSON в массив bash

У меня есть вывод JSON, который содержит список объектов, хранящихся в переменной. (Я не могу выразить это право) [ { "item1": "value1", "item2": "value2", "sub items": [ { "subitem": "subvalue" } ] }, { "item1": "value1_2", "item2": "value2_2", "sub items_2": [ { "subitem_2": "subvalue_2" } ] } ]...