私はオンラインで解決策を探していましたが、多くの情報を得ることができませんでした(ほとんどのマルチ配列の例はテキスト文書から生成されませんでした)。だからここにあります。テキスト文書example.txtから値を読み取るスクリプトがあるとしましょう。
Tag1 Value1
Tag2 Value2
Tag3 Value3
次のように表示されるように、プログラムでラベルと値を2D配列に保存する方法はありますか?
arrayResult=[Tag1][Value1]
[Tag2][Value2]
[Tag3][Value3];
(文法が間違っていることをご了承ください。)私はこれがawkではなくbashで最もよく行われることを願っています。
答え1
bashは多次元配列をサポートしません。連想配列をお探しですか?
declare -A arrayResult
while IFS=$'\t' read -r key value; do
arrayResult["$key"]=$value
done < example.txt
for key in "${!arrayResult[@]}"; do
printf "%s\t%s\n" "$key" "${arrayResult["$key"]}"
done
連想配列にはbashバージョン4が必要です。