文章目录
这个是我自己写的 全部关于 awk学习的目录导航 ,感兴趣的可以看看。
本章直接使用 awk 中的for循环 和 数组 实现 去重 and 统计 功能!
在学习之前,先来看一个知识点:
首先,我们将 变量a的值设为1,进行加法计算,每次自加后,再打印a的值:
root@zhengzelin:~# awk 'BEGIN{a=1;print a;a++;print a}'
1
2
root@zhengzelin:~# awk 'BEGIN{a=1;print a;a=a+1;print a}'
1
2
这并不难理解,因为a的值在这里是一个数字,如果a的值是一个字符串呢?是否也可以进行自加运算?
root@zhengzelin:~# awk 'BEGIN{a="test";print a;a=a+1;print a;a++;print a}'
test
1
2
如此可知,当"变量的值为字符串"的时候,也"可以进行自加运算",不过,"字符串会被当成数字0"来进行运算
在 数组那篇文章中 中我们说到过,当我们 “直接引用一个数组中不存在的元素的时候,awk会自动创建该元素,并且为其赋值为空字符串”!
那么,当 "空字符串(数组中不存在的元素)" 参与运算的时候,也会被当成"数字0"吗?
eg:
root@zhengzelin:~# awk 'BEGIN{a=" ";print a;a+=1;print a;a++;print a}'
——> # "这是第一个输出结果print a,清楚的看到这里输出的是空字符串"
1 ——> # "这里输出的是 “a