私の現在のコード:
for i in {0..5}; do
rate[${i}]="`echo $line| awk -v par=$i '{par=par+2}{print $par}'`"
done
2番目から始まる各フィールドを抽出し、配列に入れます。これを書き直すよりエレガントな方法があればアドバイスしてください。必ずしも awk である必要はありません。
set
入力を分割し、シフトして先頭の2つの要素を削除するために使用します。
set $line
shift 2
rate=($@)
またはshift
chepnerによって提案されたように排除する:
set $line
rate=("${@:3}")
変数置換演算子を使用できます。
linetmp=${line#* } # remove up to the first space
linetmp=${linetmp#* } remove up to the second (now first) space