Awk-arrays
AWK-配列
AWKには連想配列があり、それに関する最も良いことの1つは、インデックスが連続した数字のセットである必要がないことです。文字列または数値のいずれかを配列インデックスとして使用できます。 また、事前に配列のサイズを宣言する必要はありません。配列は実行時に拡大/縮小できます。
その構文は次のとおりです-
構文
ここで、 array_name は配列の名前、 index は配列のインデックス、 value は配列の要素に割り当てる値です。
配列の作成
配列についてより深く理解するために、配列の要素を作成してアクセスしてみましょう。
例
このコードを実行すると、次の結果が得られます-
出力
上記の例では、配列を fruits として宣言します。そのインデックスはフルーツ名で、値はフルーツの色です。 配列要素にアクセスするには、 array_name [index] 形式を使用します。
配列要素の削除
挿入には、代入演算子を使用しました。 同様に、 delete ステートメントを使用して、配列から要素を削除できます。 削除ステートメントの構文は次のとおりです-
構文
次の例では、要素 orange を削除します。 したがって、コマンドは出力を表示しません。
例
多次元配列
AWKは1次元配列のみをサポートします。 ただし、1次元配列自体を使用して、多次元配列を簡単にシミュレートできます。
たとえば、以下は3x3の2次元配列です-
上記の例では、array [0] [0]は100を格納し、array [0] [1]は200を格納します。 配列の場所[0] [0]に100を格納するには、次の構文を使用できます-
構文
インデックスとして 0,0 を指定しましたが、これらは2つのインデックスではありません。 実際には、これはストリング 0,0 を持つ1つのインデックスにすぎません。
次の例は、2D配列をシミュレートします-
例
このコードを実行すると、次の結果が得られます-
出力
要素/インデックスの並べ替えなど、配列に対してさまざまな操作を実行することもできます。 そのために、 assort および asorti 関数を使用できます