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

前端之家收集整理的这篇文章主要介绍了shell – 打印逗号,除了Awk的最后一行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下脚本
awk '{printf "%s",$1"-"$2","}' $a >> positions;

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

@H_403_8@ 我会通过在运行脚本之前找到行数来实现.与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

猜你在找的Bash相关文章