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

你可能感兴趣的:(正则表达式)