加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:23:56 所属栏目:安全 来源:网络整理
导读:我有以下脚本 awk '{printf "%s",$1"-"$2","}' $a positions; 其中$a存储文件的名称.我实际上将多个列值写入一行.但是,如果我不在最后一行,我想打印一个逗号. 我会通过在运行脚本之前找到行数来实现.与coreutils和bash: awk -v nlines=$(wc -l $a) '{printf
我有以下脚本
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读