内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

awk用法實(shí)例

1.統(tǒng)計(jì)以下文本內(nèi)容中每個(gè)數(shù)字出現(xiàn)的次數(shù)

創(chuàng)新互聯(lián)公司從2013年開(kāi)始,先為磴口等服務(wù)建站,磴口等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為磴口企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

[liuwei@test tmp]$ cat 1.log 
1 2
2 3
3 4
100 1 
100 100 100
[liuwei@test tmp]$ awk '{for(i=1;i<=NF;i++)s[$i]++}END{for(key in s)print key,s[key]}' 1.log
4 1
100 4
1 2
2 2
3 2

2.統(tǒng)計(jì)上面文本中100出現(xiàn)的次數(shù)

#方法1
[liuwei@test tmp]$ awk '{for(i=1;i<=NF;i++)if($i==100)sum++}END{print sum}' 1.log
4
#方法2
[liuwei@test tmp]$ awk '{for(i=1;i<=NF;i++)s[$i]++}END{for(key in s)if(key==100)print key,s[key]}' 1.log 
100 4
#方法3,不用awk進(jìn)行統(tǒng)計(jì)
[liuwei@test tmp]$ grep -o "100" 1.log | wc -l

3.統(tǒng)計(jì)下面語(yǔ)句中,每個(gè)單詞及字符出現(xiàn)的個(gè)數(shù)

  the squid project provides a number of resources toassist users design,

  implement and support squid installations. Please browsethe documentation 

  and support ections for more infomation

#統(tǒng)計(jì)字符出現(xiàn)次數(shù)
[liuwei@test tmp]$ grep -o "\w" word.txt | awk '{s[$1]++}END{for(key in s)print key,s[key]}'
#統(tǒng)計(jì)每個(gè)單詞出現(xiàn)次數(shù)
#方法1,直接遍歷每行的每個(gè)字段進(jìn)行累計(jì)
[liuwei@test tmp]$ awk -F '[ ,.]+' '{for(i=1;i<=NF;i++)s[$i]++}END{for(key in s)print key,s[key]}' word.txt
for 1
toassist 1
number 1
users 1
project 1
of 1
more 1
ections 1
documentation 1
resources 1
a 1
provides 1
Please 1
browsethe 1
installations 1
and 2
support 2
implement 1
the 1
infomation 1
squid 2
design 1
#方法2,利用輸入字段分隔符把每個(gè)單詞變?yōu)閱为?dú)的一行再行進(jìn)統(tǒng)計(jì)
[liuwei@test tmp]$ awk -v RS='[ ,.]+' '{s[$1]++}END{for(key in s)print key,s[key]}' word.txt

4.打印出haproxy.log(nginx,tomcat等都可以用)中指定時(shí)間段內(nèi)的日志,以便于進(jìn)行分析

[liuwei@test tmp]$ awk '{if($3>="20:00:00" && $3<="20:15:59")print $0}' haproxy.log
也可以寫(xiě)為:
[liuwei@test tmp]$ awk '$3>="20:00:00"&&$3<="20:15:59"{print $0}' haproxy.log

5.AWK筆試題-->獲取本機(jī)的IP地址和掩碼

#方法一,利用腳本的配置文件(source)進(jìn)行獲取,source的作用是將某個(gè)文件變成此腳本的配置文件
source /etc/sysconfig/network-scripts/ifcfg-eth0
printf "IP地址:%s\t子網(wǎng)掩碼:%s\n" $IPADDR $NETMASK
#方法二:利用awk地址定界
file=/etc/sysconfig/network-scripts/ifcfg-eth0
awk -F= '/IPADDR/,/NETMASK/{print $2}' $file
#方法三:利用awk的或條件
awk -F= '$1=="IPADDR"||$1=="NETMASK"{print $1,$2}' $file
知識(shí)點(diǎn)1:source的作用
知識(shí)點(diǎn)2:awk匹配連續(xù)多個(gè)字段的寫(xiě)法;/IPADDR/,/NETMASK/表示匹配IPADDR與NETMASK之間的所有內(nèi)容

6.統(tǒng)計(jì)當(dāng)前服務(wù)器每個(gè)外部IP的連接個(gè)數(shù)

#方法1,原理-->先以空格為分隔符得到第5個(gè)字段,再以冒號(hào)為分隔符得到IP字段
[liuwei@test tmp]$ netstat -tan | awk '/^tcp\>/{print $5}' | awk -F: '{s[$1]++}END{for(key in s)print key,s[key]}'
#方法2,利用split函數(shù)-->需要知道split函數(shù)每個(gè)參數(shù)是什么意思,此方法看起來(lái)很高端啊
netstat -tan | awk '/^tcp\>/{split($5,ip,":");s[ip[1]]++}END{for(key in s)print key,s[key]}'
知識(shí)點(diǎn):awk中split函數(shù)的用法,在此例中表示以冒號(hào)為分隔符將$5的內(nèi)容進(jìn)行分隔,存儲(chǔ)到ip數(shù)組中

7.要求文件a里的數(shù)據(jù)依次替換文件b中的xxx字樣。

   [liuwei@test tmp]$ cat a

   aaa

   bbb

   ccc

   ddd

   [liuwei@test tmp]$ cat b

   111 xxx

   222 xxx

   333 xxx

   444 xxx

#方法1,利用getline函數(shù)進(jìn)行實(shí)現(xiàn)
[liuwei@test tmp]$ awk '{getline i<"a";print $1,i}' b
111 aaa
222 bbb
333 ccc
444 ddd
#方法2,同時(shí)利用geline,sub函數(shù)進(jìn)行實(shí)現(xiàn)
[liuwei@test tmp]$ awk '{getline i<"a";sub("xxx",i,$2)}1' b
111 aaa
222 bbb
333 ccc
444 ddd
知識(shí)點(diǎn)1:getline函數(shù)用于從文本中按行讀取內(nèi)容,并且可以將內(nèi)容賦值給變量
知識(shí)點(diǎn)2:awk中sub函數(shù)的用法,在此例中表示查找$2中的第一次出現(xiàn)的xxx,并且用變量i的值進(jìn)行替換
知識(shí)點(diǎn)3:awk中g(shù)ub函數(shù)的用法,跟sub函數(shù)用法一樣,不過(guò)sub只替換第一次找到的,gub表示替換全部的

8.統(tǒng)計(jì)第2列的和;統(tǒng)計(jì)第1列中出現(xiàn)的內(nèi)容,并統(tǒng)計(jì)出對(duì)應(yīng)的第2列的和

    [root@instance-d4u5ahgn tmp]# cat sumb.txt 

    1 76

    2 78

    1 75

    2 99

    4 100

    3 12

#統(tǒng)計(jì)第2列的和
[root@instance-d4u5ahgn tmp]# awk '$1==1{sum+=$2}END{print sum}' sumb.txt
151
#統(tǒng)計(jì)第1列中出現(xiàn)的內(nèi)容,并統(tǒng)計(jì)出對(duì)應(yīng)的第2列的和
[root@instance-d4u5ahgn tmp]# awk '{s[$1]+=$2}END{for(key in s)print key,s[key]}'  sumb.txt
4 100
1 151
2 177
3 12

本文題目:awk用法實(shí)例
標(biāo)題鏈接:http://www.rwnh.cn/article36/igehsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站內(nèi)鏈、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、標(biāo)簽優(yōu)化、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
南靖县| 广宁县| 苍溪县| 年辖:市辖区| 藁城市| 甘谷县| 德钦县| 竹山县| 余江县| 闻喜县| 神池县| 顺昌县| 海城市| 宁德市| 准格尔旗| 涡阳县| 和平区| 扬中市| 峡江县| 民县| 涞水县| 淳安县| 南华县| 浮梁县| 伽师县| 滦平县| 双辽市| 苗栗县| 伊宁市| 桃园市| 大方县| 岳普湖县| 舞阳县| 板桥市| 镇巴县| 琼海市| 云南省| 达孜县| 洞口县| 临安市| 普陀区|