awk

awk簡介linux

awk是一個很是強大的命令 ,grep,awk,sed linux系統的三劍客。 
正則表達式

知識點數組

awk的模式:1正則表達式做爲模式  2比較表達式做爲模式 3範圍模式 4特殊模式BEGIN和END。spa

awk的基本格式 (awk 【參數】 ‘條件’ 路徑)awk

例 awk ‘{print $5}’  xxxxx               輸出xxxxx文件的第五列變量

例 awk ‘$9 ~ /^200$/’  xxxxx               輸出xxxxx文件第九列以200開頭以200結尾的行    解釋 $9模式第九列   ~正則匹配操做符sed

例 awk ‘NR>=10$$NR<=20’  文件                    取出該文件大於等於10小於等於20的行 file

例 awk ‘NR==5,NR==10{print NR,$0}’   文件名                    解釋條件是從第5行到第10行  動做是顯示行號NR 和整行$0           遍歷

awk -F  「指定的分割符號」grep

awk -F 「 :」 ‘$5==「root」’  文件名          找出該文件第五列是root的行 指定:爲分隔符

awk -F 「 :」 ‘$5~「^root$」’  文件名        找出文件中第五列以root開頭結尾的行 

 

awk特殊模式BEGIN模式與END模式

awk使用內置變量RS來存放輸入記錄分隔符,RS表示的是輸入的記錄分割符,這個值能夠經過BEGIN模塊從新定義修改

awk ‘BEGIN{RS=「/」}{print NR,$0}’    文件

 

awk -F 「分隔符」 ‘BEGIN{模式}{動做}END’  文件

開始模塊 用來告訴awk數據要如何讀

結束模塊 用來告訴awk要如何結束

. awk -F "[/]+" '{h[$2]++}END{for(i in h)print i,h[i]}' file

. 咱們最終須要輸出的是去重複之後的統計結果,因此得在END模塊裏進行輸出

. fori in h)遍歷這個數組,i裏存的都是房間號

print ih[i]:輸出每個房間號及其房間裏的內容(計數結果)

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息