时间:2015-01-14 18:22:52 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150114/34882.html 手机查看 评论 反馈
运算符
1.赋值运算符
= += -= *= /= %= ^= **=
2.逻辑运算符
||:逻辑或
&&:逻辑与
3.正则运算符
~:匹配正则表达式
~!:不匹配正则表达式
4.关系运算符
《 《= 》 》= != ==
5.算术运算符
+ - * / & ++ --
6.其它运算符
$:字段引用
空格:字符串连接符
?:C条件表达式
in:数组中是否存在某键值
字符操作
1.字符串转数字
将变量通过”+”连接运算。自动强制将字符串转为整型。非数字变成0,发现第一个非数字字符,后面自动忽略
2.数字转字符串
只需要将变量与””符号连接起来运算即可
3.字符串连接
只需要将变量与””符号连接起来运算即可
数组操作
在awk中数组叫做关联数组,因为下标既可以是数也可以是串。awk中的数组不必提前声明,也不必声明大小。数组元素用0或空串来初始化,这根据上下文而定。需要注意的是不同版本下面函数不一定相同。其相关的函数有length、asort、delete、split。当然也可以实现多维数组。
流程控制语句
1.条件判断语句(if)
if(表达式){语句1}else{语句2}
if(表达式){语句1}else if(表达式){语句2}else{语句3}
2.循环语句(while、for、do while)
while(表达式){语句}
for(变量 in 数组){语句}
for(变量;条件;表达式){语句}
do{语句}while(条件)
3.关键字
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{2}/‘ testfile
{m,}:至少m个模式的具体值在字符串中,则字符串匹配。命令行:awk ’/t{2,}/‘ testfile
{m, n}:在m和n之间(包含的m和n)个模式的具体值在字符串中(其中m 《= n),则字符串匹配。命令行:awk ’/er{1, 2}/‘ testfile
[String]:正则表达式与方括号内String变量指定的任何字符匹配。命令行:awk ’/sm[a-h]/‘ testfile
[^ String]:在 [ ](方括号)和在指定字符串开头的 ^ (插入记号) 指明正则表达式与方括号内的任何字符不匹配。这样,命令行:awk ’/sm[^a-h]/‘ testfile
~,!~:表示指定变量与正则表达式匹配或不匹配的条件语句。命令行:awk ’$1 ~ /n/‘ testfile
^:指定字段或记录的开头。命令行:awk ’$2 ~ /^h/‘ testfile
$:指定字段或记录的末尾。命令行:awk ’$2 ~ /y$/‘ testfile
。:表示除了在空白末尾的终端换行字符以外的任何一个字符。命令行:awk ’/a..e/‘ testfile
\ :转义字符。当位于在扩展正则表达式中具有特殊含义的任何字符之前时,转义字符除去该字符的任何特殊含义。例如,命令行:/a\/\//
发表评论
共0条
评论就这些咯,让大家也知道你的独特见解
立即评论以上留言仅代表用户个人观点,不代表系统之家立场