awk的常規使用

awk中變量說明:

變量名 含義
ARGC 命令行變元個數
ARGV 命令行變元數組
FILENAME 當前輸入文件名
FNR 當前文件中的記錄號
FS 輸入域分隔符,默認爲一個空格
RS 輸入記錄分隔符
NF 當前記錄裏域個數
NR 到目前爲止記錄數
OFS 輸出域分隔符
ORS 輸出記錄分隔符
   

 

1.查看某個域的情況

統計某個列的不重複個數,-F指定列分隔符

awk -F  '\t' '{print $1}' |sort|uniq|wc -l 

awk '{print NR,NF,$1,$NF,}' file     顯示文件file的當前記錄號、域數和每一行的第一個和最後一個域

2.模糊匹配類似於like

   awk '$1 ~ /101/ {print $1}' file         顯示文件中第一個域匹配101的行(記錄)

   awk '/101/'    file      顯示文件file中包含101的匹配行。 
   awk '/101/,/105/'  file 
   awk '$1 == 5'    file 
   awk '$1 == "CT"'    file    注意必須帶雙引號 
   awk '$1 * $2 >100 '   file  
   awk '$2 >5 && $2<=15'  file

3.對某一列求和

對文件第2列數據求和,begin用於初始化變量,中間邏輯處理,end做輸出處理

awk 'BEGIN {total=0} {total+=$2}  END  {print total}'    file   

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章