AWK - 替换它们之间的列

时间:2015-05-21 10:05:40

标签: linux bash awk

我想用最后一列替换文件的第一列。所以对于这个文件:

meas_weight='$weight' WHERE email='$user_login'

结果将是:

A B C D E F

我试过这样做:

F B C D E A

但没有工作。

2 个答案:

答案 0 :(得分:2)

正如Wintermute在评论中所说,你必须使用a代替$a

awk '{a = $1; $1 = $NF; $NF = a; print }' myfile > secfile
      ^
      no $a !

这是因为awk中的变量没有前导$$x语法用于调用记录中的字段,因此$x代表存储在变量x中的位置上的字段。

答案 1 :(得分:0)

您可以使用sed。

sed 's/^\([^\s]*\)\(.*\s\)\([^\s]*\)$/\3\2\1/' file