Linux學(xué)習(xí)之a(chǎn)wk基礎(chǔ)編程

?awk是一個(gè)使用非常廣泛的文本處理工具,是功能最強(qiáng)大的數(shù)據(jù)處理引擎之一,可以進(jìn)行樣式的裝入,流控制,數(shù)學(xué)運(yùn)算符,進(jìn)程控制語(yǔ)句甚至于內(nèi)置變量和函數(shù),下來就來詳細(xì)介紹它的基本使用方示,和大家一起分享一下!

1.awk每次讀一行數(shù)據(jù),如果設(shè)置了-F選項(xiàng),是在這一行使用分隔符分,$0是全部

2.awk由模式和動(dòng)作組成

3.條件判斷模式{動(dòng)作}

a.txt aaa bbb aaa ccc ddd cat?a.txt?|awk?'$1=="aaa"{print?"=="$1}'

Linux學(xué)習(xí)之a(chǎn)wk基礎(chǔ)編程

?4./正則模式/{動(dòng)作}

Linux學(xué)習(xí)之a(chǎn)wk基礎(chǔ)編程

?可以有多個(gè)模式動(dòng)作

Linux學(xué)習(xí)之a(chǎn)wk基礎(chǔ)編程

?5.條件操作符,~匹配正則 !~不匹配

cat?a.txt?|awk?'{if?($1=="aaa")?print?$1;else?print?"==="$1}'

Linux學(xué)習(xí)之a(chǎn)wk基礎(chǔ)編程

6.特殊的模式(BEGIN,END) , 都只執(zhí)行一次 , 不像前面的模式 , 每一行都會(huì)執(zhí)行 , 用于初始化和最終結(jié)果的打印等

cat?a.txt?|awk?'{arr[$1]+=1}END{for(row?in?arr){print?row"?出現(xiàn)次數(shù)?"arr[row]}}'

配合數(shù)組統(tǒng)計(jì)出現(xiàn)次數(shù)

Linux學(xué)習(xí)之a(chǎn)wk基礎(chǔ)編程

?推薦教程:Linux視頻教程

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享