linux awk合并文件,Linux awk合并了两个文件

我有下面的脚本来组合两个文件.

@H_404_5@awk -F"\t" '

{key = $1}

!(key in result) {result[key] = $0; next;}

{ for (i=2; i <= NF; i++) result[key] = result[key] FS $i }

END {

PROCINFO["sorted_in"] = "@ind_str_asc" # if using GNU awk

for (key in result) print result[key]

}

' $1 $2 > $3

第一列是关键,$1和$2.

但是如果$2列有一个键但是$1列没有键.

然后它除了1美元行之外还要合并.

我想结合只有1美元的钥匙存在.

我怎样才能简单地合并这两个文件?

例如,

档案1

@H_404_5@Key Column1 Column2 Column3

Test1 500 400 200

Test2 499 400 200

Test5 600 200 150

Test6 600 199 150

Test7 599 199 100

@H_404_5@Key Column4 Column5

Test1 Good Good

Test2 Good Good

Test3 Good Good

Test4 Good Good

Test5 Good Good

Test6 Good Good

Test7 Good Good

目前的组合

@H_404_5@Key Column1 Column2 Column3 Column4 Column5

Test1 500 400 200 Good Good

Test2 499 400 200 Good Good

Test5 600 200 150 Good Good

Test6 600 199 150 Good Good

Test7 599 199 100 Good Good

Test3 Good Good

Test4 Good Good

预期结合.

@H_404_5@Key Column1 Column2 Column3 Column4 Column5

Test1 500 400 200 Good Good

Test2 499 400 200 Good Good

Test5 600 200 150 Good Good

Test6 600 199 150 Good Good

Test7 599 199 100 Good Good

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值