使用bash从第2个字段开始的行中提取字段进行查看

时间:2012-09-11 14:21:23

标签: bash scripting awk

我目前的代码:

for i  in {0..5}; do
       rate[${i}]="`echo $line| awk -v par=$i '{par=par+2}{print $par}'`"
    done 

从第2个字段开始提取每个字段并将其放入数组中。请告知是否有更优雅的方式重写此内容。它不一定需要在awk中。

2 个答案:

答案 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