您的位置:首页 > 运维架构 > Linux

AWK简明教程(2)

2014-03-19 21:46 357 查看
统计下面的命令计算所有的C文件,CPP文件和H文件的文件大小总和。
我们再来看一个统计各个connection状态的用法:(我们可以看到一些编程的影子了,大家都是程序员我就不解释了。注意其中的数组的用法)
再来看看统计每个用户的进程的占了多少内存(注:sum的RSS那一列)

脱掉内衣

awk脚本在上面我们可以看到一个END关键字。END的意思是“处理完所有的行的标识”,即然说到了END就有必要介绍一下BEGIN,这两个关键字意味着执行前和执行后的意思,语法如下:BEGIN{ 这里面放的是执行前的语句 }

END {这里面放的是处理完所有的行后要执行的语句 }

{这里面放的是处理每一行时要执行的语句}

为了说清楚这个事,我们来看看下面的示例:假设有这么一个文件(学生成绩表):
我们的awk脚本如下(我没有写有命令行上是因为命令行上不易读,另外也在介绍另一种用法):
我们来看一下执行结果:(也可以这样运行 ./cal.awk score.txt)
环境变量即然说到了脚本,我们来看看怎么和环境变量交互:(使用-v参数和ENVIRON,使用ENVIRON的环境变量需要export)

几个花活

最后,我们再来看几个小例子:

自己撸吧

关于其中的一些知识点可以参看gawk的手册:内建变量,参看:http://www.gnu.org/software/gawk/manual/gawk.html#Built_002din-Variables

流控方面,参看:http://www.gnu.org/software/gawk/manual/gawk.html#Statements

内建函数,参看:http://www.gnu.org/software/gawk/manual/gawk.html#Built_002din

正则表达式,参看:http://www.gnu.org/software/gawk/manual/gawk.html#Regexp

(全文完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux shell AWK