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

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

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

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

4
Как я могу полностью удалить элемент из массива?
unset array[0]удаляет элемент, но все же, если я это сделаю, echo ${array[0]}я получаю нулевое значение, более того, есть другие способы сделать это, но если элемент массива содержит пробелы, как показано ниже array[0]='james young' array[1]='mary' array[2]='randy orton' но они также не в состоянии сделать работу array=${array[@]:1} #removed the 1st element теперь …


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

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

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

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

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

3
Возможная ошибка в 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 …
22 bash  array 


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

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

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.