Если у меня есть файл, как это:массив из файла
A:a
B:b
C:c
Мне нужно создать 2 массивы, как
one=('A' 'B' 'C')
two=('a' 'b' 'c')
Как я могу сделать это в Баш?
Я попытался это:
declare -a one
declare -a two
while read line
do
IFS=':' read -ra ADDR <<< $line
echo ${ADDR[0]}
echo ${ADDR[1]}
done < file.txt
К сожалению, я писал с работы, а потом я пришел домой. Еще раз извините. Проблема с этим состоит в том, что это печать
littlelion:Documents dierre$ sh prova.sh
A a
B b
так не хватает C C, и я понятия не имею, как добавить элемент в массив
вы не используете свой 'declare -a one (& two)' s. Похоже, это поможет. Кроме того, поскольку вы используете IFS =:, почему бы не читать 'tmpOne tmpTwo; ...' И вам не нужно '<<< $ line'. Затем сделайте что-то вроде 'one = ($ {one [@]} $ tmpOne)' ... и т. Д., Но вы можете понять это ;-) (Вот почему это комментарий). Удачи! – shellter