awk运算符

Posted ggzhangxiaochao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于awk运算符的主要内容,如果未能解决你的问题,请参考以下文章

(转载)(收藏)Awk学习详细文档

新awk整理

awk变量运算符if多分支

20个简洁的 JS 代码片段

awk的常用标变量和数值运算符

awk运算符