我一直在网上寻找解决方案,但无法获得太多信息(大多数多数组示例不是从文本文档创建的),所以就在这里。假设我有一个从文本文档 example.txt 读取值的脚本:
Tag1 Value1
Tag2 Value2
Tag3 Value3
有没有一种方法可以让我以编程方式将标签和值存储到二维数组中,使其看起来像:
arrayResult=[Tag1][Value1]
[Tag2][Value2]
[Tag3][Value3];
(请原谅语法)。我希望最好在 bash 而不是 awk 中完成此操作。
答案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。