2013-08-12 13 views
17

はbashで連想配列のサイズを取得する方法はありますか?Bashの連想配列のサイズ

興味のあるサイズは、要素の数と消費するメモリ量の両方です。

答えて

23

${#array[@]}はあなたの配列のサイズを返します。

$ declare -A array 
$ array[foo]='something' 
$ array[bar]='blah' 
$ array[42]='nothing' 
$ echo ${#array[@]} 
3 
+0

は右ああ、完全に忘れてしまった、ありがとうございました。配列が相当なサイズになったときのリソース消費に関する考え方はありますか? – wick

+1

@wick私はあなたがリソースの消費量を判断することはできないと思います。あなたの配列が本当に巨大になっているなら、別のアプローチを考えてみましょう。 – devnull

+0

参照:http://www.tldp.org/LDP/abs/html/parameter-substitution.html(*可変長/部分文字列削除*までスクロールダウン)。 –

10

あなたは要素の数を取得するために${#array[@]}を使用することができます。

しかし、私はそれが消費するメモリの量を得ることはできないと思います。