当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- Dynamsoft barcode reader v7.5!
- 2020-11-06:go中,谈一下调度器。
- python3操作Jenkins模块api
- [graffiti footprints of Internet of things] mainstream communication mode of Internet of things
- How to deploy Gantt chart quickly and correctly
- Exclusive interview with Yue Caibo
- jenkins pipline stage 设置超时
- Talk about sharing before paying
- ImageMagick - add watermark
- How does varhart xgantt represent working days on a calendar
猜你喜欢
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
Introduction to Jenkins (2) declarative pipeline
Knowledge competition of garbage classification
pc端与移动端适配解决方案之rem
课堂练习
9. Routingmesh service communication between clusters
Benefits and functions of auto maintenance app development
MongoDB下,启动服务时,出现“服务没有响应控制功能”解决方法
RECH8.0版本学习 days 12 rh134部分
Logo design company, Nanjing
随机推荐
In simple terms, the large front-end framework angular6 practical course (angular6 node.js 、keystonejs、
9. Routingmesh service communication between clusters
JS array the usage of array is all here (array method reconstruction, array traversal, array de duplication, array judgment and conversion)
Shanghai Pudong Development Bank, which frequently receives penalty tickets, has been cheated by hundreds of millions of yuan in loans, and lacks of internal control?
If you want to forget the WiFi network you used to connect to your Mac, try this!
The advantages and functions of psychological counseling app
10000! Ideal car recalls all defective cars: 97 accidents have occurred and losses will be expanded
How to create an interactive kernel density chart
8. Swarm creates maintenance and horizontal extension service
想要忘记以前连接到Mac的WiFi网络,试试这个方法!
OpenCV計算機視覺學習(10)——影象變換(傅立葉變換,高通濾波,低通濾波)
PHP security: the past and present of variables
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
JS string - string string object method
How to use Gantt chart layers and filters
Opencv computer vision learning (10) -- image transform (Fourier transform, high pass filter, low pass filter)
如何使用甘特图图层和筛选器
Is blazor ready to serve the enterprise?
Mobile pixel adaptation scheme
gitlab 持续集成开发环境之CI/CD