我目前的代码:
for i in {0..5}; do
rate[${i}]="`echo $line| awk -v par=$i '{par=par+2}{print $par}'`"
done
从第2个字段开始提取每个字段并将其放入数组中。请告知是否有更优雅的方式重写此内容。它不一定需要在awk中。
答案 0 :(得分:1)
使用set
拆分输入并移动以移除前导2个元素:
set $line
shift 2
rate=($@)
按照chepner的建议或取消shift
:
set $line
rate=("${@:3}")
答案 1 :(得分:0)
您可以使用变量替换运算符:
linetmp=${line#* } # remove up to the first space
linetmp=${linetmp#* } remove up to the second (now first) space