JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.

Assoc Array Wert via Index Nummer ausgeben

strukturart

Erfahrenes Mitglied
Hallo,

ich habe angefangen ein script zu schreiben das eine .csv ausliest und den Inhalt in ein Array speichert.
Wie kann man einen Wert anhand der Index Nummer aufrufen wenn es ein Assoc Array ist ?

Code:
echo ${data_arr[$number]}



Code:
#!/bin/bash
#store data in 2d arry
declare -A data_arr
IFS=","
i=0
while read f1 f2
do
 count=`expr $count + 1`
 #echo $count')' $f1 $f2
 data_arr[$f1]=$f2
done < adressbook.csv
#list adressbook
count_index=0
for key in "${!data_arr[@]}"
do
 count_index=`expr $count_index + 1
 echo "$count_index) ${key} ${data_arr[$key]}"
done
read -e -p "select if you want to writer: " number
echo ${data_arr[$number]}
Habe es jetzt mit einem 2. Array gelöst

Code:
#!/bin/bash
#store data in 2d arry
declare -A data_arr
declare -a data_arr_index
IFS=","
i=0
while read -r f1 f2
do
 count=`expr $count + 1`
 #echo $count')' $f1 $f2
 data_arr[$f1]=$f2
 data_arr_index+=($f1)
done < adressbook.csv
#list adressbook
count_index=0
for key in "${!data_arr[@]}"
do
 count_index=`expr $count_index + 1`
 
 echo "$count_index) ${key} ${data_arr[$key]}"
done
read -e -p "select if you want to writer: " number
index_number=${data_arr_index[$number-1]}
echo ${data_arr[$index_number]}

aber bei der Ausgabe kommt umgekehrt raus
im file: a b c d e in der ausgabe e d c b a

wieso ist das so ?
Zuletzt bearbeitet:

Neue Beiträge

AltStyle によって変換されたページ (->オリジナル) /