50 x 1
以下のようにUbuntuで行列を作成しました。
#!/bin/bash
declare -A matrix
num_rows=1
num_columns=50
for ((n=0;n<=(($num_columns-1));n++)) do
for ((i=1;i<=num_rows;i++)) do
matrix[$i,$j]=net$(($n+1))
#echo "${matrix[$i,$j]}" >> temp
done
done
50 x 1行列の各要素を変数(たとえば「q」)に割り当てたいと思います。たとえば、q1 = net1、q2 = net2、... q50 = net50です。 Linuxでこれを達成する方法を知っている人はいますか?よろしくお願いします。
答え1
要求に応じてプレフィックス付きの変数のリストを作成し、q
その後にシーケンス番号(c)を付け、それを配列変数に割り当てます。
#!/bin/bash
declare -A matrix
num_rows=1
num_columns=50
c=1
for ((n=0;n<=(($num_columns-1));n++)) do
for ((i=1;i<=num_rows;i++)) do
matrix[$i,$j]=net$(($n+1))
declare "q$c=${matrix[$i,$j]}"
((c++))
done
done
これを出力するには、次のように使用できます。
for ((i=1;i<(($num_columns-1));i++)) do
var=q$i
echo "${!var}"
done