使用awk打印最后一个字段,然后使用$ NF

时间:2018-02-20 15:34:56

标签: awk

我不确定我是否理解awk中的NF变量。

我的示例文件(test)包含一行:

1 2 3 4 5

以下按预期方式工作:

awk '{print $1,$NF}' test
1 5

但下一个例子没有(即相反):

awk '{print $NF,$1}' test
 1

我在这里缺少什么?我可以单独打印$ NF,或者在$ 1之后打印,但不能在之前打印。

1 个答案:

答案 0 :(得分:1)

由于它对我来说很好,我怀疑它可能是可能导致此问题的字符字符,如果是这种情况,请尝试以下操作:

1-通过执行以下操作检查任何Input_file中是否存在托架字符:

cat -v Input_file

2-如果在Input_file中找到任何托架字符,则可以通过执行以下操作删除它们:

tr -d '\r' < Input_file > temp_file  &&  mv temp_file  Input_file