AWK简明教程(2)
2014-03-19 21:46
357 查看
统计下面的命令计算所有的C文件,CPP文件和H文件的文件大小总和。
我们再来看一个统计各个connection状态的用法:(我们可以看到一些编程的影子了,大家都是程序员我就不解释了。注意其中的数组的用法)
再来看看统计每个用户的进程的占了多少内存(注:sum的RSS那一列)
END {这里面放的是处理完所有的行后要执行的语句 }
{这里面放的是处理每一行时要执行的语句}
为了说清楚这个事,我们来看看下面的示例:假设有这么一个文件(学生成绩表):
我们的awk脚本如下(我没有写有命令行上是因为命令行上不易读,另外也在介绍另一种用法):
我们来看一下执行结果:(也可以这样运行 ./cal.awk score.txt)
环境变量即然说到了脚本,我们来看看怎么和环境变量交互:(使用-v参数和ENVIRON,使用ENVIRON的环境变量需要export)
流控方面,参看: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
(全文完)
脱掉内衣
awk脚本在上面我们可以看到一个END关键字。END的意思是“处理完所有的行的标识”,即然说到了END就有必要介绍一下BEGIN,这两个关键字意味着执行前和执行后的意思,语法如下:BEGIN{ 这里面放的是执行前的语句 }END {这里面放的是处理完所有的行后要执行的语句 }
{这里面放的是处理每一行时要执行的语句}
为了说清楚这个事,我们来看看下面的示例:假设有这么一个文件(学生成绩表):
几个花活
最后,我们再来看几个小例子:自己撸吧
关于其中的一些知识点可以参看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
(全文完)