AWK脚本不会打印CSV文件的最后一列

时间:2015-04-13 18:14:39

标签: linux bash awk

我有以下awk脚本:

BEGIN { FS=","; OFS=","; } 
{ print $4,$1,$2; }

这是我的输入文件:

a1,a2,a3,a4
b1,b2,b3,b4

我希望它能够回归:

a4,a1,a2
b4,b1,b2

但它没有。相反,我得到:

,a1,a2
,b1,b2

为什么?

1 个答案:

答案 0 :(得分:5)

最有可能是由于每行末尾的DOS行结尾\r。使用此gnu-awk命令获得正确的输出:

awk -v RS='\r?\n' 'BEGIN { FS=OFS="," } { print $4,$1,$2 }' file
a4,a1,a2
b4,b1,b2