🗒️awk实现类SQL的join功能
2023-3-3
| 2023-4-10
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password

1. 需求

业务取出两张CSV表,有相同主键,需要实现join效果
[root@e1zone awk_join]# cat a.txt id num 1 100 2 20 3 25 4 35 5 10 6 0 [root@e1zone awk_join]# cat b.txt id type 1 a3 2 a3l 3 a4l 4 a6l 5 a8l
期望得到的表如下
id type num 1 a3 100 2 a3l 20 3 a4l 25 4 a6l 35 5 a8l 10 6 unknown 0

2. awk实现

#核心是先构造数组,按数组匹配,else输出不匹配的 [root@e1zone awk_join]#awk 'NR==FNR{a[$1]=$0;next}{if($1 in a)print a[$1],$2;else print $1,"unknown",$NF}' b.txt a.txt id type num 1 a3 100 2 a3l 20 3 a4l 25 4 a6l 35 5 a8l 10 6 unknown 0
 
技术
  • scripts
  • Git HTTPS密码登录的问题阿里sls采集logstash处理过的日志
    目录