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 运算符(算术运算符,赋值运算符,关系运算符,逻辑运算符,正则运算符)说明的更多相关文章

  1. Python3入门系列之-----算术运算符|比较运算符|赋值运算符|逻辑运算符|成员运算符|身份运算符

    什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 1 +2 = 3 . 例子中,1 和 1.2 被称为操作数,"+" 称为运算符. Python语言支持以下类型的 ...

  2. JavaSE复习日记 : Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符

    // Java操作符\关系运算符\逻辑运算符\赋值运算符\字符串连接符\三元运算符 /* * 一 Java操作符 * * Java操作符都有哪些? * +, -, *, /, %, ++, -- * ...

  3. java入门---运算符&算术运算符&自增自减运算符&关系运算符&位运算符

        计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 ...

  4. Java运算符 算术运算法

    运算符 算术运算法:+,-,*,/,%,++,– 复制运算符:= 关系运算符:>,<,>=,<=,==,!= instanceof 逻辑运算符:&&,||,! ...

  5. Python学习笔记【第二篇】:运算符、比较、关系运算符

    运算符 python支持以下几种运算符 算术运算符 运算符 描述 实例 + 加 两个对象相加 a + b 输出结果 30 - 减 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 ...

  6. C++ Primer笔记10_运算符重载_赋值运算符_进入/输出操作符

    1.颂值运营商 首先来福值运算符引入后面要说的运算符重载.上一节说了构造函数.拷贝构造函数:一个类要想进行更好的控制.须要定义自己的构造函数.拷贝构造函数.析构函数.当然,还有赋值运算符.常说的三大函 ...

  7. Python 位运算符 逻辑运算符 成员运算符

    位运算符 运算符 描述 实例 & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果12 ,二进制解释:0000 1100 | ...

  8. PHP中的运算符---算术运算符、逻辑运算符、赋值运算符、比较运算符

    1.算术运算符 常见的算术运算符 运算类型 运算符 举例 结果 取反运算 - -$a 返回$a的负值 加法运算 + $a + $b 返回$a与$b的和 减法运算 - $a - $b 返回$a与$b的差 ...

  9. c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)

    1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...

随机推荐

  1. MFC对话框贴图基础上控件Stasic变成透明的

    对应WM_CTLCOLOR函数 加入下面代码: HBRUSH CMFCApplication2Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) ...

  2. inspect模块详解

    inspect模块主要提供了四种用处: (1).对是否是模块,框架,函数等进行类型检查. (2).获取源码 (3).获取类或函数的参数的信息 (4).解析堆栈 使用inspect模块可以提供自省功能, ...

  3. ES7新特性

    Array.prototype.includes Array.prototype.includes用法都容易和简单.它是一个替代indexOf,开发人员用来检查数组中是否存在值,indexOf是一种尴 ...

  4. 如何在 Linux 下大量屏蔽恶意 IP 地址

    很多情况下,你可能需要在Linux下屏蔽IP地址.比如,作为一个终端用户,你可能想要免受间谍软件或者IP追踪的困扰.或者当你在运行P2P软件时.你可能想要过滤反P2P活动的网络链接.如果你是一名系统管 ...

  5. iOS开发之状态栏隐藏(问题篇)

    一.基本应用 相信基本的隐藏办法网上很多,这里只简单说明一下 1⃣️改变全局状态栏 1.在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppeara ...

  6. java 异常 java.lang.OutOfMemoryError: GC overhead limit exceeded 解决

    一.异常如下: Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded ...

  7. 中小企业 DevOps 从 0 到 1

    原文:http://www.sohu.com/a/145065274_262549 今天主要有四个课题: 先聊一聊 DevOps: 然后跟大家聊一聊运维知识的体系和职业发展: 再是中小企业基于开源的 ...

  8. PHP面试题及答案解析(7)—Linux系统命令

    1.请解释下列10个shell命令的用途.top.ps.mv.find.df.cat.chmod.chgrp.grep.wc top:该命令提供了实时对系统处理器状态的监控,它能够实时显示系统中各个进 ...

  9. Fiddler 过滤器的使用

    只显示制定HOST的SESSION

  10. YUV420视频上面添加字幕

    1.source_codemain.c中实现了函数draw_Font_Func(),这个函数可以直接移植到C程序中使用.zimo.h里面放的是字模转码后的数据. 2.data_yuv测试用的yuv42 ...