作者:川山佳来源:https://www.cnblogs.com/baoch...#产品经理(PM)来找你要XX的最新数据,你知道这些数据目前只是可以通过Log文件进行分析,因为我们知道我们不可能把所有的数据都放到db里(这不科学!)。每当有这样的任务,你就用php或者java(或者c)来写一个特殊任务的程序,真是让人头疼。#放入??数据库???为什么我不推荐将数据放入db?优点不言而喻,我们可以很方便的通过sql语句将数据取出来。缺点呢?首先是我们不能把所有东西都放在数据库里吗?究其原因,我总结了以下几点:1、数据的抽动型:一般是有人(不敢说名字,怕被报复)突然要数据的时候会来找你。想。这场抽风结束后,很长一段时间都不会有人向你要数据了。2.数据臃肿型:比臃肿还乱。总不能把那一堆杂七杂八的数据一下子全部放到db里吧?那么您的后台数据库是什么样的?所以我们要爱护好自己的后院,不能什么东西都放在屋子里。3、成本:我们不能为了我们所做的而做亏本的生意。对于这样的一次性交易,我们不得不降低成本。为了解决以上问题,还是请来awk这个神器吧?一个“短小精悍”的神器,往往用一两行代码就可以完成一些复杂的任务。#本文的目的awk并不难,关键是看大家怎么想?我的思考方式是:我在这么多行数据中寻找什么(行位置)?找到之后,我们怎么办(比如{})?于是我的主题就出来了:找什么,做什么。我不想谈论语法或类似的东西(不要担心细节)。#寻找什么?这个世界上最难的不是做什么,而是找什么?李清照的《寻找与发现》终于迷失了自我。作为仿古人,我也找了一阵子,但和清照姐一样,在找寻中迷失了方向,始终不知道自己在找什么?——我个人认为找东西不是体力活,而是技术活。awk吸引我的地方在于它教会了我如何找到我想要的东西?准备干粮CatNetwork.txtProtoRECV-QSend-QLocal-ADDRESSFOREIGN-ADDRESSStateTCP00.0.0.0:33060.0.0.0:*Listentcp10.0.0.0:80.0.0.0:*Listentcp00127.0.0.1:90000.0.0.0:*listentCP00Yuedu.com:80124.205.5.146:18245Time_waittcp00Yuedu.com:8061.140.101.185:37538yuedu.com:80????????123.169.124.111:49809???????ESTABLISHEDtcp????????00?yuedu.com:80????????116.234.127.77:11502????????FIN_WAIT2tcp????????00?yuedu.com:80????????123.169.124.111:49829???????ESTABLISHEDtcp????????00?yuedu.com:80????????183.60.215.36:36970?????????TIME_WAITtcp04166yuedu.com:8061.148.242.38:30901ESTABLISHEDtcp01yuedu.com:80124.152.181.209:268250FIN_WAIT1tcp0yuedu.com:80????????110.194.134.189:4796????????ESTABLISHEDtcp????????00?yuedu.com:80????????183.60.212.163:51082????????TIME_WAITtcp????????01?yuedu.com:80????????208.115.113.92:50601????????LAST_ACKtcp????????00?yuedu.com:80????????123.169.124.111:49840???????ESTABLISHEDtcp00yuedu.com:80117.136.20.85:50025FIN_WAIT2tcp00:::22:::*LISTEN配菜(基本条件匹配):查询除0localhostgu:zhou'$1以外的所有接受队列的tcp网络包=="tcp"&&$2>0'netstat.txttcp110.0.0.0:800.0.0.0:*LISTEN打印出来的内容超出了我们的理解范围。如果把第一行打出来,一目了然。这时候我们就需要用到awk的全局常量了(如果想了解AWK的全局常量可以看附录,常用的我都列出来了)NR。localhost:zhoubcGuest$awk'NR==1||$1=="tcp"&&$2>0'netstat.txtProtoRecv-QSend-QLocal-AddressForeign-AddressStatetcp110.0.0.0:800.0.0.0:*聆听很酷,不是吗?如有错误或其他问题,欢迎留言指正。如果有帮助,请点赞+转发分享。欢迎大家关注米公公的公众号:米公公的技术之路
