awk的使用(一)

awk程序是由主輸入的循環組成的,一個循環是一個例程,它將一直重複執行直到一些存在的條件使它終止。主輸入循環是一個例程。循環的次數=文件的行數。

awk充許編寫兩個特殊的例程,BEGIN和END。

 

cat name

=>

John Robinson,Koren Inc.,978 4th Ave.,Boston,MA:01760,696-0987
Phyllis Chapman,GVE Corp.,34 Sea Drive,Amesbury,MA:01881,879-0900

Bulent Green, WR Corp., 46 Win, Alameda, MA:93253, 356-3635


Lily Smith, Beyondsoft Corp., 28 Win, Beijing, BJ:2535, 010-4546

 

awk中指定分隔符

 

使用-F參數

 

awk -F"/t" '{print $1}' #使用製表符爲分隔符

 

使用FS系統變量

 

awk 'BEGIN {FS=","} {print $1}' name #FS默認是空格

 

還可以用正則表達式來指定分隔符

 

awk -F"[,:]" '{print $6}' name

 

 

awk中判斷字段是否匹配


sed -n '/^$/!p' name | awk -F"," '$5!~/MA/{print $1 "," $6}'

=>

Lily Smith, 010-4546

 

awk中變量的使用


awk '/^$/ {x++} END{print x}' name #打印空格的數目

=>3

 

cat scre

=>

John 85 92 78 94 88
andrea 89 90 75 90 86
jasper 84 88 80 92 84

 

awk '{total=$2+$3+$4+$5+$6;avg=total/5;print $1,avg}' score #打印名字與平均成績

=>

John 87.4
andrea 86
jasper 85.6

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