首页 > 解决方案 > 使用 awk 更改最后一条记录分隔符

问题描述

我有一个输入文件如下:

apple 6
banana 7
goat 8

我需要输出为

{6,apple},
{7,banana},
{8,goat}

但是,当我如下运行 awk 时,它会打印额外的最后一个逗号 (,)。如何避免最后一个逗号?

awk '{print "{"$2","$1"},"}' data
{6,apple},
{7,banana},
{8,goat},

更新

实际上,我需要这样的输出

{6,apple},
{7,banana},
{8,goat}
] 

当我跑步时

awk '{print "{"$2","$1"},"}' END {print "\t\t]\n}' data

它给了我

{6,apple},
{7,banana},
{8,goat}, 
] 

我不需要最后一个逗号......在这种情况下如何避免?

标签: bashawk

解决方案


如何sed使用以下命令行将其连接到管道?

awk ... | sed '$ s/,$//' 

推荐阅读