awk 运算符(算术运算符,赋值运算符,关系运算符,逻辑运算符,正则运算符)说明

简介:

awk作为文本处理优秀工具之一,它有独自丰富的运算符。下面我们一起归纳总结一下,所有运算符。 可以分为:算术运算符,赋值运算符,关系运算符,逻辑预算法,正则运算符。

 

一、运算符介绍

运算符 描述
赋值运算符
= += -= *= /= %= ^= **= 赋值语句
逻辑运算符
|| 逻辑或
&& 逻辑与
正则运算符
~ ~! 匹配正则表达式和不匹配正则表达式
关系运算符
< <= > >= != == 关系运算符
算术运算符
+ - 加,减
* / & 乘,除与求余
+ - ! 一元加,减和逻辑非
^ *** 求幂
++ -- 增加或减少,作为前缀或后缀
其它运算符
$ 字段引用
空格 字符串连接符
?: C条件表达式
in 数组中是否存在某键值

 

说明:awk运算符基本与c语言相同。表达式及功能基本相同

二、实例介绍

  • awk赋值运算符

a+=5; 等价于:a=a+5; 其它同类

  • awk逻辑运算符

[chengmo@localhost ~]$ awk 'BEGIN{a=1;b=2;print (a>5 && b<=2),(a>5 || b<=2);}'
0 1

  • awk正则运算符

[chengmo@localhost ~]$ awk 'BEGIN{a="100testa";if(a ~ /^100*/){print "ok";}}'
ok

  • awk关系运算符

如:> < 可以作为字符串比较,也可以用作数值比较,关键看操作数如果是字符串 就会转换为字符串比较。两个都为数字 才转为数值比较。字符串比较:按照ascii码顺序比较。

[chengmo@localhost ~]$ awk 'BEGIN{a="11";if(a >= 9){print "ok";}}'

 

[chengmo@localhost ~]$ awk 'BEGIN{a=11;if(a >= 9){print "ok";}}'  
ok

  • awk算术运算符

说明,所有用作算术运算符 进行操作,操作数自动转为数值,所有非数值都变为0。

[chengmo@localhost ~]$ awk 'BEGIN{a="b";print a++,++a;}' 
0 2

  • 其它运算符

?:运算符

[chengmo@localhost ~]$ awk 'BEGIN{a="b";print a=="b"?"ok":"err";}'
ok

 

in运算符

[chengmo@localhost ~]$ awk 'BEGIN{a="b";arr[0]="b";arr[1]="c";print (a in arr);}'
0

 

[chengmo@localhost ~]$ awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}'
1

in运算符,判断数组中是否存在该键值。

本文转自博客园知识天地的博客,原文链接:awk 运算符(算术运算符,赋值运算符,关系运算符,逻辑运算符,正则运算符)说明,如需转载请自行联系原博主。

相关文章
|
5月前
|
前端开发 JavaScript
前端基础(五)_运算符(算术运算符、赋值运算符、比较运算符、逻辑运算符、三目运算符、运算符优先级和结合性、数据类型的隐式转换)
本文介绍了JavaScript中的算术运算符、赋值运算符、比较运算符、逻辑运算符、三目运算符、运算符优先级和结合性以及数据类型的隐式转换。
106 3
|
8月前
|
C++
C++之运算符
C++之运算符
|
9月前
|
存储 弹性计算 运维
使用AND运算符
【4月更文挑战第29天】
57 0
|
9月前
|
存储 弹性计算 运维
使用OR运算符
【4月更文挑战第29天】
48 0
|
9月前
|
Java
运算符的文章
运算符的文章
48 0
|
9月前
|
C++
c++位运运算符
c++位运运算符
61 0
1.4 运算符
1.4 运算符
55 0
|
编译器 C语言
C 运算符
C 运算符。
48 0
|
存储 编译器 程序员
C / C++ 中的运算符
运算符是任何编程语言的基础。因此,如果不使用运算符,C/C++ 编程语言的功能是不完整的。我们可以将运算符定义为帮助我们对操作数执行特定数学和逻辑计算的符号。换句话说,我们可以说操作符操作操作数。
162 0

热门文章

最新文章