将字符串解析为二维数组
parsing string to two-dimensional array
请帮帮我。
我有这样的字符串(一直在变化,不是恒定的):
id1 name1 key1
id2 name2 key2
id3 name3 key3
...
如何使用 bash 我可以将这个值放入二维数组?
例如结果为:
array[1][1] -> id1
array[1][2] -> name1
array[1][3] -> key1
array[2][1] -> id2
array[2][2] -> name2
...
TY 求助
Bash不支持多维数组。
例如,您可以使用哈希来模拟它们,但需要注意前导零和许多其他内容。
例如:
var="id1 name1 key1"
declare -A matrix
num_rows=1
num_columns=3
read -a array <<< ${var}
matrix[1,1]=${array[0]}
matrix[1,2]=${array[1]}
matrix[1,3]=${array[2]}
for ((j=1;j<=num_columns;j++)) do
for ((i=1;i<=num_rows;i++)) do
echo ${matrix[$i,$j]}
done
done
请帮帮我。 我有这样的字符串(一直在变化,不是恒定的):
id1 name1 key1
id2 name2 key2
id3 name3 key3
...
如何使用 bash 我可以将这个值放入二维数组?
例如结果为:
array[1][1] -> id1
array[1][2] -> name1
array[1][3] -> key1
array[2][1] -> id2
array[2][2] -> name2
...
TY 求助
Bash不支持多维数组。
例如,您可以使用哈希来模拟它们,但需要注意前导零和许多其他内容。
例如:
var="id1 name1 key1"
declare -A matrix
num_rows=1
num_columns=3
read -a array <<< ${var}
matrix[1,1]=${array[0]}
matrix[1,2]=${array[1]}
matrix[1,3]=${array[2]}
for ((j=1;j<=num_columns;j++)) do
for ((i=1;i<=num_rows;i++)) do
echo ${matrix[$i,$j]}
done
done