Giriş
declare -A ile map tanımlanır. Şöyle yaparız.
Örnek
array isimli bir map olsun. !assoc[@] ile key'lere erişiriz. $i ile key değerine göre arama yaparız. Şöyle yaparız.
Şöyle yaparız.
Örnek
done isimli bir map tanımlayıp içinde arama yapmak için şöyle yaparız.
declare -A ile map tanımlanır. Şöyle yaparız.
declare -A obj
obj["key1"]="val1"
obj["key2"]="val2"
for item in ${!obj[@]}; do
echo "${obj[${item}]} ${item}"
done
Tüm Map'i DolaşmakÖrnek
array isimli bir map olsun. !assoc[@] ile key'lere erişiriz. $i ile key değerine göre arama yaparız. Şöyle yaparız.
declare -A assoc=([foo]="123" [bar]="456")
for i in "${!assoc[@]}" ; do
echo "${assoc[$i]}"
done
ÖrnekŞöyle yaparız.
declare -a ratings
for movid in ...
do
countLines=...
sumRatings=...
avgRating=...
if [ $countLines -gt 100 ]
then
ratings[$movid]=$avgRating
fi
done
for k in "${!ratings[@]}"
do
echo $k'|'${ratings["$k"]}'
done
Map'te Arama YapmakÖrnek
done isimli bir map tanımlayıp içinde arama yapmak için şöyle yaparız.
#!/bin/bash
# Keep an associative array of which names you have already processed
# Requires Bash 4
declare -A done
for file in 1/* 2/*; do
base=${file#*/} # trim directory prefix from value
test "${done[$base]}" && continue
: do things ...
done["$base"]="$file"
done
Hiç yorum yok:
Yorum Gönder