需要按特定顺序获取awk输出

需要按特定顺序获取awk输出

文件中的数据:

1234567-5678907
3456789-1234563
3456789-1234567
n

现在我想要以下格式的输出:

1234567-5678907,3456789-1234563,3456789-1234563....n

我使用了下面的命令,但在开始时出现了一个额外的逗号:

awk -F"-" ' {printf ",%s-%s",$1,$1} END{print""}'

请分享可以在 shell 脚本中使用的命令。

答案1

使用awk的输出记录分隔符,口服补液盐:

awk 'BEGIN{ORS=",";}1' infile

答案2

已经有一个基于paste上面评论的解决方案。但如果您愿意awk,这里有一个awk解决方案:

awk 'BEGIN{RS="";OFS=","};$1=$1'

它不会在末尾创建虚假逗号,并通过换行符正确终止输出。

相关内容