サーチ…
配列の基本
awkの配列には実際の識別子がないので、新しい配列を作成するのはやや混乱します。したがって、AWKコードで配列を実際に初期化することはできません。
awkの配列は連想的です。つまり、任意の文字列または数字をキーにすることができます。つまり、配列はキーと値のペアの辞書、マップなどに似ています。別のメモでは、配列の最大サイズはありません。
AWKでの配列の作成は、変数名、適切なキーを引数として変数に代入するのがとても簡単です。つまり、次のコードが実行されると、 myArrayという配列がすでに作成されていmyArray 。
BEGIN {
myArray["key"] = "value"
}
私たちは、始めに配列を作ることに縛られていません。次の入力ストリームがあるとします。
A b c
D e f
G h i
これで次のコードを実行します:
{
myOtherArray[$1] = $2 "-" $3
}
# The array will look like this:
# myOtherArray["A"] = "b-c"
# myOtherArray["D"] = "e-f"
# myOtherArray["G"] = "h-i"
配列がキーの値のペアでいっぱいになると、そのキーで値を取り出すことができます。これは、 myOtherArrayキー"A"を使用すると、 "bc"を取得することを意味します。
END {
print(myOtherArray["A"])
}
また、各キーをループして各値を取得するオプションもあります。配列の各キーをループするのは簡単なことですが、それは倒れてしまいます。それはソートされていません。次のループはfor-eachループのようなもので、キーを取得します。
END {
for (key in myOtherArray) {
print "myOtherArray[\"" key "\"] = " myOtherArray[key]
}
}
# Outputs (literal strings):
myOtherArray["A"] = "b-c"
myOtherArray["D"] = "e-f"
myOtherArray["G"] = "h-i"
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow