当前位置:网站首页>Awk implements SQL like join operation
Awk implements SQL like join operation
2020-11-07 18:55:00 【Irving the procedural ape】
awk、grep and sed go by the name of linux Three swordsmen , in fact grep and awk I also use it in my daily work (sed Use less ), Maybe some people are right about awk Less understanding , Let me give you a general introduction to . Many people think awk It's just a text processing tool , In fact, they use it the same way . But it's actually a language , Have mathematical operators 、 Process control statements , It even encapsulates many built-in variables and functions for text processing , This makes it powerful in text processing . If grep Can only do data filtering , that awk It can also process data 、 Analyze and even generate reports , After all, it's a complete programming language .
Because this article is not awk Getting started with , If you want to get started, I recommend Ruan Yifeng awk Introductory tutorial and Left ear mouse AWK A concise tutorial .
Back to my topic today , Today I'd like to show you something I use a lot awk Scene . Because we do back-end development , Often when doing data analysis, there will be such a problem ,1. Facing hundreds of thousands of data , We need to screen out hundreds and thousands of specific key The data of .2. For these millions of data , Directed against id Fields complement other fields .
There may be mastery of excel My classmates jumped out and said “ Is this ,so easy,vlookup That's it !” , in fact ,excel It does solve the problem , But it's a little heavy , Even sometimes we can't use it on the server excel. What other ways ? For the two scenes I'm talking about , Actually, think about it , Is it right? sql Two watches in Chinese join Can solve the problem . In fact, you don't really need to put files in the database , Only need to use awk One order can solve .
example
Let's take the question like , Suppose there are two files ,score.txt Save the student number + Performance data , Another one name.txt Save the student number + Name data , Now you want to know how many points everyone has baked .
score.txt
id score 1 872 673 684 755 906 1007 0
name.txt
id name 1 Zhang San 2 Li Si 3 Wang Wu 4 Zhao er 5 Lennon 6 Big bear
You want a copy with a student number Name and grade data , It looks like this .
id score name 1 87 Zhang San 2 67 Li Si 3 68 Wang Wu 4 75 Zhao er 5 90 Lennon 6 100 Big bear 7 0
use awk How easy it is to generate such data ? Just one line of code , You can save name.txt and score.txt, And then execute the following command to try .
awk 'ARGV[1]==FILENAME {map[$1]=$2} ARGV[2]==FILENAME {print $0, map[$1]}' name.........
版权声明
本文为[Irving the procedural ape]所创,转载请带上原文链接,感谢
边栏推荐
猜你喜欢

Application layer software development Godfather teaches you how to refactor, senior programmers must professional skills

Vue: Axios uses this pointer

Exclusive interview with alicloud database of | 2020 PostgreSQL Asia Conference: Wang Xu

带你深入了解 GitLab CI/CD 原理及流程

Mate 40 series launch with Huawei sports health service to bring healthy digital life

HMS core push service helps e-commerce app to carry out refined operation

聊聊先享後付

DOM node operation

STlink下载出现st-link usb communication error解决方法

K-vim installation and the ycmd server shut down (restart with ': ycmrestartserver')
随机推荐
Chinese sub forum of | 2020 PostgreSQL Asia Conference: Pan Juan
Mate 40系列发布 搭载华为运动健康服务带来健康数字生活
JS string - string string object method
VARCHART XGantt入门教程
HandlerMethodArgumentResolver使用和原理
K-vim installation and the ycmd server shut down (restart with ': ycmrestartserver')
How to add modules to nginx image?
Exclusive interview with alicloud database of | 2020 PostgreSQL Asia Conference: Wang Xu
一种超参数优化技术-Hyperopt
STlink下载出现st-link usb communication error解决方法
Developing STM32 USB with cubemx
微服務 - 如何進行服務限流和熔斷
Come on in! Take a few minutes to see how reentrantreadwritelock works!
Logo design company, Nanjing
使用RabbitMQ实现分布式事务
Exclusive interview with Yue Caibo
After pulling four message queues into a group, they quarreled
Didi's distributed ID generator (tinyid), easy to use
And how to solve the conflict between pop-up menu and pop-up menu
8. Swarm creates maintenance and horizontal extension service