1

スペースで区切られた文字列のリストを含むこの変数があります

val=00:21:5D:16:F3 00:21:5D:16:F4 00:21:5D:16:F5

bu スペース " " で区切られた各文字列を抽出し、それを に割り当てたいval このシェル コードを使用しますが、機能しません

while [ "$((i++))" != "10" ]; do
   val$i=`echo $val | awk '{print $i}'`
   echo "val$i=$val$i"
done

望ましい結果は次のとおりです。

val1="00:21:5D:16:F3"
val2="00:21:5D:16:F4"
val3="00:21:5D:16:F5"
val4=""
val5=""
val6=""
val7=""
val8=""
val9=""
val10=""

cut 、 sed 、 grep などの別の Linux ユーティリティで処理が行われたとしても、助けていただければ幸いです。

4

3 に答える 3

0

私はあなたが本当に尋ねたものではないことを知っていますが、これを解決するために配列を使用するのはどうですか?

お気に入り:

val=(00:21:5D:16:F3 00:21:5D:16:F4 00:21:5D:16:F5)

$ echo ${val[0]}

00:21:5D:16:F3

$ エコー ${val[1]}

00:21:5D:16:F4

$ エコー ${val[2]}

00:21:5D:16:F5

$ エコー ${val[3]}

于 2015-04-13T20:14:22.510 に答える