shell – 打印逗号,除了Awk的最后一行

我有以下脚本
awk '{printf "%s",$1"-"$2","}' $a >> positions;

其中$a存储文件名称.我实际上将多个列值写入一行.但是,如果我不在最后一行,我想打印一个逗号.

我会通过在运行脚本之前找到行数来实现.与coreutils和bash:
awk -v nlines=$(wc -l < $a) '{printf "%s",$1"-"$2} NR != nlines { printf "," }' $a >>positions

如果您的文件只有2列,则以下coreutils替代也可以.示例数据:

paste <(seq 5) <(seq 5 -1 1) | tee testfile

输出

1   5
2   4
3   3
4   2
5   1

现在用换行符替换标签,粘贴可以轻松地将日期组合成所需的格式:

<testfile tr '\t' '\n' | paste -sd-,

输出

1-5,2-4,3-3,4-2,5-1

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...