三剑客之awk
三劍客之awk
awk命令的執行過程
#滿足 awk從文件中讀取一行內容到內存中--》判斷是否滿足條件--滿足---執行對應的命令---輸出到屏幕 #不滿足 awk從文件中讀取一行內容到內存中--》判斷是否滿足條件--不滿足---繼續讀取文件里的內容直到文件最后awk命令的語法
awk 參數 '模式{動作}' 文件 awk 參數 '條件(找誰){干啥}' 文件 ~:表示包含的意思 gsub:表示替換,語法(gsbu(/目標/,"替換成什么",第幾列))akw命令之查詢
#示例文件 [root@web02 files]# cat reg.txt Zhang Dandan 41117397 :250:100:175 Zhang Xiaoyu 390320151 :155:90:201 Meng Feixue 80042789 :250:60:50 Wu Waiwai 70271111 :250:80:75 Liu Bingbing 41117483 :250:100:175 Wang Xiaoai 3515064655 :50:95:135 Zi Gege 1986787350 :250:168:200 Li Youjiu 918391635 :175:75:300 Lao Nanhai 918391635 :250:100:175 #顯示Xiaoyu的姓氏和ID號碼 [root@web02 files]# awk '/Xiaoyu/{print $1,$2}' reg.txt Zhang Xiaoyu #顯示所有以41開頭的ID號碼的人的全名和ID號碼 [root@web02 files]# awk '$3~/^41/{print $1,$2,$3}' reg.txt Zhang Dandan 41117397 Liu Bingbing 41117483 #顯示所有ID號碼最后一位數字是1或5的人的全名 [root@web02 files]# awk '$3~/[15]$/{print $1,$2}' reg.txt Zhang Xiaoyu Wu Waiwai Wang Xiaoai Li Youjiu Lao Nanhai [root@web02 files]#awk命令之替換
[root@web02 files]# cat reg.txt Zhang Dandan 41117397 :250:100:175 Zhang Xiaoyu 390320151 :155:90:201 Meng Feixue 80042789 :250:60:50 Wu Waiwai 70271111 :250:80:75 Liu Bingbing 41117483 :250:100:175 Wang Xiaoai 3515064655 :50:95:135 Zi Gege 1986787350 :250:168:200 Li Youjiu 918391635 :175:75:300 Lao Nanhai 918391635 :250:100:175 #顯示Xiaoyu的捐款.每個值時都有以$開頭.如$520$200$135 [root@web02 files]# awk 'gsub(/:/,"$",$4)' reg.txt Zhang Dandan 41117397 $250$100$175 Zhang Xiaoyu 390320151 $155$90$201 Meng Feixue 80042789 $250$60$50 Wu Waiwai 70271111 $250$80$75 Liu Bingbing 41117483 $250$100$175 Wang Xiaoai 3515064655 $50$95$135 Zi Gege 1986787350 $250$168$200 Li Youjiu 918391635 $175$75$300 Lao Nanhai 918391635 $250$100$175 [root@web02 files]#awk命令之BEGIN模式:主要用來測試與計算
[root@web02 ~]# awk 'BEGIN{print 100 * 2.2}' 220awk命令之END模式:用來計算顯示最終統計結果
[root@web02 ~]# #統計/etc/services文件里面的空行數量 [root@web02 ~]# awk '/^$/{i++}END{print i}' /etc/services 16awk命令之數組:用來統計與計算
處理以下文件內容,將域名取出并根據域名進行計數排序處理:(百度和sohu面試題) [root@web02 ~]# cat url.txt http://www.etiantian.org/index.html http://www.etiantian.org/1.html http://post.etiantian.org/index.html http://mp3.etiantian.org/index.html http://www.etiantian.org/3.html http://post.etiantian.org/2.html #方法一:使用單個添加 [root@web02 ~]# awk -F '[/.]+' '{h[$2]++}END{print h["www"],h["mp3"]}' url.txt 3 1 #方法二:使用for循環 [root@web02 ~]# awk -F '[/.]+' '{h[$2]++}END{for(pol in h)print pol "\t" h[pol]}' url.txt www 3 mp3 1 post 2 [root@web02 ~]#secure系統日志分析練習
誰在破解你的密碼(Failed password 每個ip地址出現的次數)
[root@web02 files]# awk '/Failed password/{h[$(NF-3)]++}END{for(pol in h)print pol"\t" h[pol]}' secure-20161219 218.65.30.126 17163 218.65.30.61 17163 125.16.71.175 4 169.46.38.74 9 183.136.238.78 30 218.2.0.16 10 91.223.133.33 2 222.186.50.206 3289 51.254.143.19 9 113.207.7.3 316 111.73.46.156 3206 123.31.34.141 39 187.115.73.70 9 182.100.67.119 17163 218.87.109.150 17163 218.87.109.151 17163 ..........分析系統的每個用戶被破解的次數
[root@web02 files]# awk '/Failed/{h[$(NF-5)]++}END{for(pol in h )print pol"\t"h[pol]}' secure-20161219 |head odoo 3 2735 1 oleta 3 ubuntu1 1 imcmon 3 ubuntu2 1 ubuntu3 1 ubuntu 7 nagiosuser 3 erp 3 [root@web02 files]#轉載于:https://www.cnblogs.com/yjiu1990/p/10336256.html
總結
- 上一篇: 杜克大学医学院禁止公开场合说中文?涉事负
- 下一篇: 华三防火墙策略路由配置案例-华三策略路由