awk-03-操作符




操作符

image-20210817100325105

在awk中,有3种情况表达式为假:
  1.数字是0
  2.空字符串
  3.未定义的值
  
  
数值运算,未定义变量初始值为0
字符运算,未定义变量初始值为空

image-20210817100423926




示例

1.截取整数( + - )

image-20210817103320473


2.感叹号

image-20210817103348086

读取第一行: 
i 是未定义变量,此时初始值 i=0,然后 i=!i ,即 i=!0, 
!取反意思,感叹号右边是个布尔值, 0 或空字符串为假,非 0 或非空字符串为真, !0 就是真,
因此 i=1,条件为真打印当前记录
没有 print 为什么会打印呢?
因为模式后面没有动作,默认会打印整条记录

读取第二行: 因为上次 i 的值由 0 变成了 1,此时就是 i=!1,条件为假不打印

读取第三行: 上次条件又为假, i 恢复初始值 0,取反, 继续打印。以此类推

3.乘法和除法

image-20210817103508487


4.管道符使用

image-20210817103529385


5.正则表达式匹配

image-20210817103550388


6.判断数组成员

image-20210817103610674


7.三目运算

三目运算作为一个表达式,里面不允许写 print

image-20210817103646127

替换换行符为逗号

说明:读取第一行时, n 没有变量,为假输出$0 也就是 1,并赋值变量 n,

读取第二行时, n 是 1 为真,输出 1,2 以此类推,后面会一直为真

image-20210817103718451

每三行后面添加新一行

image-20210817103738859

两行合并成一行

image-20210817103756986


8.变量赋值

image-20210817104159370


posted @ 2021-08-17 10:59  李成果  阅读(82)  评论(0编辑  收藏  举报