[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{}

这样,应该能够记下来了,下次不用再查了。

原文地址:https://www.cnblogs.com/hugetong/p/10018829.html