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

linux – 如何合并两部分数据?

发布时间:2020-12-14 00:32:39 所属栏目:Linux 来源:网络整理
导读:演示文件aaa中的redis数据是: million:relive:2270371,18,1million:relive:user:49976159,27:8,340|2018-01-26 20:25:00million:relive:stage:22,6,1 结果是根据redis键的thrid部分添加一个额外的列: uid,million:relive:2270371,1user,million:relive:use
演示文件aaa中的redis数据是:

million:relive:2270371,18,1
million:relive:user:49976159,27:8,340|2018-01-26 20:25:00
million:relive:stage:22,6,1

结果是根据redis键的thrid部分添加一个额外的列:

uid,million:relive:2270371,1
user,million:relive:user:49976159,340
stage,million:relive:stage:22,1

我可以使用以下方法生成第一列:

awk -F":" '{print $3}' aaa | awk '{if($0 ~ /^[0-9,]+?$/) print "uid"; else print $0}'

第二部分:

awk -F"|" '{print $1}' aaa

如何将这两个部分结合起来,是否可以用一句话来表达它们?

解决方法

$awk -F':' '{sub(/|.*/,"");print ($3~/^[0-9]+,/?"uid":$3)","$0}' aaa
uid,1

以上单行应该可以帮到你.它首先删除了…… ……部分,然后根据$3添加密钥

(编辑:李大同)

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

    推荐文章
      热点阅读