逗号的作用:输出空格 [root@zhangchao ~]# cat zc.log root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@zhangchao ~]# awk -F":" '{ print $1$3}' zc.log root0 operator11 [root@zhangchao ~]# awk -F":" '{ print $1 $3}' zc.log root0 operator11 [root@zhangchao ~]# awk -F":" '{ print $1,$3}' zc.log root 0 operator 11
awk 赋值运算符:a+5;等价于: a=a+5;其他同类 [root@Gin scripts]# awk 'BEGIN{a=5;a+=5;print a}' 10
awk逻辑运算符: 判断表达式 a>2&&b>1为真还是为假,后面的表达式同理 [root@Gin scripts]# awk 'BEGIN{a=1;b=2;print (a>2&&b>1,a=1||b>1)}' 0 1
awk正则运算符: [root@Gin scripts]# awk 'BEGIN{a="100testaa";if(a~/100/) {print "ok"}}' ok [root@Gin scripts]# echo|awk 'BEGIN{a="100testaaa"}a~/test/{print "ok"}' ok
关系运算符: 如: > < 可以作为字符串比较,也可以用作数值比较,关键看操作数如果是字符串就会转换为字符串比较。两个都为数字 才转为数值比较。字符串比较:按照ascii码顺序比较。 [root@Gin scripts]# awk 'BEGIN{a="11";if(a>=9){print "ok"}}' #无输出 [root@Gin scripts]# awk 'BEGIN{a=11;if(a>=9){print "ok"}}' ok [root@Gin scripts]# awk 'BEGIN{a;if(a>=b){print "ok"}}' ok
awk 算术运算符: 说明,所有用作算术运算符进行操作,操作数自动转为数值,所有非数值都变为0。 [root@Gin scripts]# awk 'BEGIN{a="b";print a++,++a}' 0 2 [root@Gin scripts]# awk 'BEGIN{a="20b4";print a++,++a}' 20 22
三目运算符 ?: [root@Gin scripts]# awk 'BEGIN{a="b";print a=="b"?"ok":"err"}' ok [root@Gin scripts]# awk 'BEGIN{a="b";print a=="c"?"ok":"err"}' err