awk笔记

1.awk 算术运算符:
说明:所有用作算术运算符进行操作,操作数自动转为数值,所有非数值都变为0。
字符串转换为数字
"100"转换成100
"100abc"转换成100
"abc100"转换成0
"b" 转换成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

这里的a++ , ++a与javascript语言一样:a++是先赋值加++;++a是先++再赋值,
a++的时候,awk 会自动把a 当作数字计算, 如果是非数字,作为 0, 那么 print a++ 的时候,输出 0, 这时a 已经等于1了,轮到下一句, ++a, 先计算, a就等于2 , 所以输出 2。

  1. RS=""表示以空行作为记录分隔符

  2. 数组
    在awk中,对于未初始化的数组变量,在进行数值运算的时候,会赋予初值0,因此a[$3]=0

posted @ 2020-06-02 16:46  plumemoon  阅读(66)  评论(0)    收藏  举报