随笔-156  评论-223  文章-30  trackbacks-0
   本文以统计磁盘文件系统已用空间为例说明awk的用法,使用命令df可获得磁盘文件系统的相关信息,如下图所示
      
   第3列Used便是已用空间的数据,这是正常的情形。当第1列Filesystem文本过长时,就有可能换行输出,这是特殊的情形,如下图所示
      
   针对这两种情形,如何写出有效的命令脚本来统计Used列的数据和呢?从上面两图观察对比显然可得,以空白符开头的文本行便是特殊情形,需要计算的是第2列;而正常情形的文本行,便是第3列。因此可得出awk脚本:   awk '{ if($0~/^ /) s+=$2; else s+=$3;} END{ print "Used total is: "s }'

   用于正常情形,输出如下
         
   而特殊情形,则输出如下
      
posted on 2012-11-01 17:47 春秋十二月 阅读(1679) 评论(1)  编辑 收藏 引用 所属分类: System

评论:
# re: shell应用(3): 使用awk统计数据 2012-11-05 14:40 | truease
受益。主要是$0~/^ /这部分不了解。竟然awk中可以这样使用正则。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理