文件中的数据:
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'
它不会在末尾创建虚假逗号,并通过换行符正确终止输出。