1.awk命令行
awk [ -F fs] [-v var=value] [-f program-file]'program'
-f选项放置在-v前面。
2.awk程序模型
awk把输入流当作是一连串记录的集合,每条记录可以细分为字段。
记录:record
字段:field
3.程序元素
awk有匹配(~)和不匹配(!~)两个运算符。
标量变量,保存单一值得变量。所有awk变量在建立时其初始值为一个空字符串值,当需要数值时,会被视为0.awk的变量名必须以ANSCII字母或者下划线开始,然后选择性的接上字母、数字和下划线等。并且,变量名咩有长度限制,但是区分大小写。
常用的内建标量变量:
FILENAME 当前输入文件mingc FNR 当前输入文件的总记录数量 NR 当前job的记录数 FS字段分隔符 OFS 输出字段分隔符 ,默认是 " " RS输入记录分隔符 默认是"\n" ORS输出记录分割符,默认是"\n" NF 字段数量
命令行参数
awk通过内建变量ARGC(参数计数)和ARGV(参数向量),让命令行参数可用
字符串函数
length substr(string,start,len),返回string的由start开始len长度的字符串 tolower(string) toupper(string) index(string,find )返回string中find字符串的起始位置 match(string,regexp) sub(regexp,replacement,target),target与regexp匹配,将左边最长的匹配 部分替换为字符串replacement gsub(regexp,replacement,target),替换全部 split(string,array,regexp)分割string存储到array数组