[bash][awk] bash下使用awk方便的列求和
这么多年,始终在用awk进行文本处理。但是一直没有好好的学习awk的语法。所以很多情况都是知其然,不知其所以然。
如今,亦如此。先记下来如下,以后有时间系统的学习一下awk的语法。
┬─[tong@T7:~]─[10:07:53 AM] ╰─>$ cat 1 |awk '{print $1}' 7569.12 7554.95 7398.46 7368.88 7335.03 ┬─[tong@T7:~]─[10:08:14 AM] ╰─>$ cat 1 |awk '{a+=$1}END{print a}' 37226.4
那么,怎么记忆呢? 我的理解,awk默认是行处理的。命令里边的指令都是基于行处理的。
像求和这种类似需求,可以加入两个类似的语法:
BEGIN{}
END{}
这样,应该能够记下来了,下次不用再查了。