awk运算符

 

 

逗号的作用:输出空格
[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

 

posted on 2020-06-15 11:12  裸睡的猪  阅读(384)  评论(0编辑  收藏  举报