⑴= += -= *= /= %= ^= **=
⑵~:匹配正则表达式
⑶~!:不匹配正则表达式
⑷《 《= 》 》= != ==
⑸+ - * / & ++ --
⑹空格:字符串连接符
⑺?:C条件表达式
⑻in:数组中是否存在某键值
⑼将变量通过”+”连接运算。自动强制将字符串转为整型。非数字变成,发现第一个非数字字符,后面自动忽略
⑽只需要将变量与””符号连接起来运算即可
⑾只需要将变量与””符号连接起来运算即可
⑿在awk中数组叫做关联数组,因为下标既可以是数也可以是串。awk中的数组不必提前声明,也不必声明大小。数组元素用或空串来初始化,这根据上下文而定。需要注意的是不同版本下面函数不一定相同。其相关的函数有length、asort、delete、split。当然也可以实现多维数组。
⒀.条件判断语句(if
⒁if(表达式{语句}else{语句}
⒂if(表达式{语句}else if(表达式{语句}else{语句}
⒃.循环语句(while、for、do while
⒄while(表达式{语句}
⒅for(变量 in 数组{语句}
⒆for(变量;条件;表达式{语句}
⒇do{语句}while(条件
⒈break:当break语句用于while或for语句时,导致退出程序循环。
⒉continue:当continue语句用于while或for语句时,使程序循环移动到下一个迭代。
⒊next:能能够导致读入下一个输入行,并返回到脚本的顶部。这可以避免对当前输入行执行其他的操作过程。
⒋exit:语句使主输入循环退出并将控制转移到END,如果END存在的话。如果没有定义END规则,或在END中应用exit语句,则终止脚本的执行。
⒌+:包含一个或多个字符或扩展正则表达式的具体值(在 +(加号前在这个字符串中,则字符串匹配。命令行:awk ’/smith+ern/‘ testfile
⒍?:包含零个或一个字符或扩展正则表达式的具体值(在 ?(问号之前在字符串中,则字符串匹配。命令行:awk ’/smith?/‘ testfile
⒎|:以 |(垂直线隔开的字符串的任何一个在字符串中,则字符串匹配。命令行:awk ’/allen | alan /‘ testfile
⒏(:在正则表达式中将字符串组合在一起。命令行:awk ’/a(ll?/‘ testfile
⒐{m}:有m个模式的具体值位于字符串中,则字符串匹配。命令行:awk ’/l{}/‘ testfile
⒑{m,}:至少m个模式的具体值在字符串中,则字符串匹配。命令行:awk ’/t{,}/‘ testfile
⒒{m, n}:在m和n之间(包含的m和n个模式的具体值在字符串中(其中m 《= n,则字符串匹配。命令行:awk ’/er{, }/‘ testfile
⒓[String]:正则表达式与方括号内String变量指定的任何字符匹配。命令行:awk ’/sm[a-h]/‘ testfile
⒔[^ String]:在 [ ](方括号和在指定字符串开头的 ^ (插入记号 指明正则表达式与方括号内的任何字符不匹配。这样,命令行:awk ’/sm[^a-h]/‘ testfile
⒕~,!~:表示指定变量与正则表达式匹配或不匹配的条件语句。命令行:awk ’$ ~ /n/‘ testfile
⒖^:指定字段或记录的开头。命令行:awk ’$ ~ /^h/‘ testfile
⒗$:指定字段或记录的末尾。命令行:awk ’$ ~ /y$/‘ testfile
⒘。:表示除了在空白末尾的终端换行字符以外的任何一个字符。命令行:awk ’/a..e/‘ testfile
⒙:转义字符。当位于在扩展正则表达式中具有特殊含义的任何字符之前时,转义字符除去该字符的任何特殊含义。例如,命令行:/a///