40 awk 命令(二)

awk 的运算和判断

作为一种程序设计语言所应具有的特点之一,awk支持多种运算,这些运算与C语言提供的基本相同。awk还提供了一系列内置的运算函数(如log、sqr、cos、sin等)和一些用于对字符串进行操作(运算)的函数(如length、substr等等)。这些函数的引用大大的提高了awk的运算功能。作为对条件转移指令的一部分,关系判断是每种程序设计语言都具备的功能,awk也不例外,awk中允许进行多种测试,作为样式匹配,还提供了模式匹配表达式(匹配)和!(不匹配)。作为对测试的一种扩充,awk也支持用逻辑运算符。

算术运算符
Paste_Image.png
root@ubuntu:~# awk 'BEGIN{a="b";print a++,++a;}'
0 2

所有非数值被转换成0

赋值运算
Paste_Image.png
逻辑运算符
Paste_Image.png
root@ubuntu:~# awk 'BEGIN{a=1;b=2;print (a>5 && b<=2),(a>5 || b<=2);}' 
0 1
正则运算符
Paste_Image.png
root@ubuntu:~# awk 'BEGIN{a="100testa";if(a ~ /^100*/){print "ok";}}' 
ok
root@ubuntu:~# 
关系运算符
Paste_Image.png
root@ubuntu:~# awk 'BEGIN{a=11;if(a >= 9){print "ok";}}'
ok
root@ubuntu:~# 

其他运算符

Paste_Image.png
root@ubuntu:~# awk 'BEGIN{a="b";print a=="b"?"ok":"err";}' 
ok

root@ubuntu:~# awk 'BEGIN{a="d";arr[0]="b";arr[1]="c";print (a in arr);}' 
0
root@ubuntu:~# awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}' 
1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转载 原文的排版和内容都更加友好,并且详细,我只是在这里贴出了一部分留作自己以后参考和学习,如希望更详细了解AWK...
    XKirk阅读 8,496评论 2 25
  • awk: grep,sed,awk grep:文本过滤 sed:文本编辑 awk:文本格式化工具; 1 什么是aw...
    木林森阅读 5,798评论 0 16
  • awk简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多...
    yeahuh阅读 9,468评论 0 7
  • 晚上跟我尊重的前辈老魏聊天,感谢他寄过来的字画。 【无远】 要是你嫂子,讲道理就很好了。 听他这也一说,吓得我,阿...
    唐诗远打草稿小号阅读 3,192评论 0 0
  • 地上三友梅松竹, 天上三友日月星。 梅松竹喜风雨彐, 风霜雨彐显精神。 坚韌不拔能吃苦, 安于贫贱不娇情。 不带面...
    浪淘沙0706阅读 1,580评论 0 0

友情链接更多精彩内容