ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

awk,真的是一款牛逼的神器!

2020-11-27 13:33:09  阅读:169  来源: 互联网

标签:0.0 神器 awk com ESTABLISHEDtcp 80 yuedu 一款


awk,真的是一款牛逼的神器!

由 久未见 提交于 2020-11-27 12:38:57

作者:川山甲
来源:https://urlify.cn/7JjQVj

 

# 序

 

产品经理(PM)过来找你要最近某某的数据,而你知道这些数据目前只能通过日志文件去分析,因为我们知道,我们不可能把所有数据都放入db中(这不科学啊!)。每当有这样任务的时候,你就用php或java(又或c)写一个特殊任务的程序,这真是一件令人头痛的事情。

 

     

# 放入db???

 

为什么我不建议把数据放入db中呢?优点不言自明,我们可以通过sql语句很容易把数据拿出来。

 

缺点呢?首先就是我们不能把什么东西都往db里放?

 

原因,我归纳了以下几点:

 

1、数据的抽风型:

 

一般都是某某(不敢指明点姓,怕打击报复)脑门子一拍,突然想要某些数据,这就会来找你要。等这股抽风劲一过,很长时间没人再找你要数据了。

 

2、数据的臃肿型:

 

与其说是臃肿还不如说是乱七八糟。你不能把那一坨一坨的杂七杂八的数据,一股脑放入db中吧?那你的后台db成什么样子了?所以我们要管好我们的后院,不能什么东西都放到家里面。

 

3、成本:

 

干什么事情,我们不能做赔本的买卖。像这种一次性的买卖,我们就要降低成本去做。

 

为了解决以上问题,我们请出awk神器吧?一种“短小精悍”的神器,常常用一两行代码就能搞定一些复杂的任务。

 

 

# 本文宗旨

 

awk不难,关键是看我们怎么思考?我的思考方式是:在这么多数据行中,我要找什么(行位置)?找到之后,我们要干什么(如{})?

 

故我的主题就出来了:找什么和干什么。我不想讲什么语法之类的东西(不要在意这些细节)。

 

# 找什么?

 

这个世界最难的不是做什么,而是找什么?李清照的“寻寻觅觅”,最后把自己寻觅没了。仿古人,俺也寻寻觅觅了一阵子,结果跟清照大姐一样,迷失在寻寻觅觅中,到现在都不知道我在寻觅什么?——个人认为找什么不是体力活,而是技术活。awk吸引我的,也就是它教会了我怎么找我想要的东西?

 

 准备干粮

 

cat  netstat.txt Proto Recv-Q Send-Q Local-Address          Foreign-Address             Statetcp        0      0 0.0.0.0:3306           0.0.0.0:*                   LISTENtcp        1      1 0.0.0.0:80             0.0.0.0:*                   LISTENtcp        0      0 127.0.0.1:9000         0.0.0.0:*                   LISTENtcp        0      0 yuedu.com:80        124.205.5.146:18245         TIME_WAITtcp        0      0 yuedu.com:80        61.140.101.185:37538        FIN_WAIT2tcp        0      0 yuedu.com:80        110.194.134.189:1032        ESTABLISHEDtcp        0      0 yuedu.com:80        123.169.124.111:49809       ESTABLISHEDtcp        0      0 yuedu.com:80        116.234.127.77:11502        FIN_WAIT2tcp        0      0 yuedu.com:80        123.169.124.111:49829       ESTABLISHEDtcp        0      0 yuedu.com:80        183.60.215.36:36970         TIME_WAITtcp        0   4166 yuedu.com:80        61.148.242.38:30901         ESTABLISHEDtcp        0      1 yuedu.com:80        124.152.181.209:26825       FIN_WAIT1tcp        0      0 yuedu.com:80        110.194.134.189:4796        ESTABLISHEDtcp        0      0 yuedu.com:80        183.60.212.163:51082        TIME_WAITtcp        0      1 yuedu.com:80        208.115.113.92:50601        LAST_ACKtcp        0      0 yuedu.com:80        123.169.124.111:49840       ESTABLISHEDtcp        0      0 yuedu.com:80        117.136.20.85:50025         FIN_WAIT2tcp        0      0 :::22                  :::*                        LISTEN

 

 上小菜(基础条件匹配):

 

 查询所有tcp中,接受队列非0的网络包。

 

localhost:zhoubc Guest$ awk '$1 =="tcp" && $2 > 0' netstat.txt tcp        1      1 0.0.0.0:80             0.0.0.0:*                   LISTEN

 

打印出来的内容,我们不知所云。如果把第一行打出来,就一目了然了。这时候我们要用到awk的全局常量(如果想知道AWK的全局常量,我们可以往下看)NR。

 

localhost:zhoubc Guest$ awk 'NR==1 || $1 =="tcp" && $2 > 0' netstat.txt Proto Recv-Q Send-Q Local-Address          Foreign-Address             Statetcp        1      1 0.0.0.0:80             0.0.0.0:*                   LISTEN

 

看爽了是不是?

 

 


后台回复“加群”,带你进入高手如云交流群


推荐阅读:

什么是物联网?这里有你需要了解的一切

网络通信中的几种握手

【趣图】程序员一乐!

Kubernetes的架构为什么是这个样的?

任何人都能看得懂的网络协议之ARP

用好你的网络瑞士军刀netcat

一次Linux系统被攻击的分析过程

Linux下删除大量文件效率对比

130 个相见恨晚的神器网站

分享20个Linux命令小贴士与技巧

一文带你彻底理解文件系统

5G与Wi-Fi6空口技术对

牛逼的Linux性能剖析—perf

HTTPS 的 7 次握手以及 9 倍时延

一文搞定 UDP 和 TCP 高频面试题!



喜欢,就给我一个“在看”

 


10T 技术资源大放送!包括但不限于:云计算、虚拟化、微服务、大数据、网络、Linux、Docker、Kubernetes、Python、Go、C/C++、Shell、PPT 等。在公众号内回复「1024」,即可免费获取!!

本文分享自微信公众号 - Linux云计算网络(cloud_dev)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

来源:oschina

链接:https://my.oschina.net/u/3872630/blog/4434800

标签:0.0,神器,awk,com,ESTABLISHEDtcp,80,yuedu,一款
来源: https://www.cnblogs.com/q35455075/p/14047440.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有