awk处理之案例一:awk 处理百分比的问题

编译环境

   本系列文章所提供的算法均在以下环境下编译通过。

【脚本编译环境】Federa 8,linux 2.6.35.6-45.fc14.i686
【处理器】 Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz
【内存】 2025272 kB

前言

    awk是脚本中出色的文本处理工具。源码好像也是用C语言写的。本系列会针对不同的案例,用awk来解决我们所要的问题。 为什么会用awk呢?我们当然可以使用C语言或者java语言来对文本做处理,但每次都要编译会令人发疯的。修改起来也麻烦,正所谓杀鸡焉用牛刀。而脚本的灵活便捷使得工作变得更加轻松容易。在shell脚本编程中,awk堪称瑞士军刀绝不为过。

    本系列文章均系笔者所写,难免有一些错误或者纰漏,如果小伙伴们有好的建议或者更好的算法,请不吝赐教。

正文

【场景】

10.128.96.187: D:                    1.1T   86G  999G   8% /cygdrive/d
10.128.96.168: D:                    1.1T  782G  303G  73% /cygdrive/d
10.128.96.230: D:                    809G  169G  641G  21% /cygdrive/d
10.128.96.178: D:                    1.1T   66G 1020G   7% /cygdrive/d
10.128.96.195: D:                    1.1T  743G  342G  69% /cygdrive/d
10.128.96.196: D:                    1.1T  244G  841G  23% /cygdrive/d
10.128.96.181: D:                    1.1T  816G  270G  76% /cygdrive/d
10.128.96.184: D:                    1.9T  5.1G  1.9T   1% /cygdrive/d
10.128.96.185: D:                    1.9T  4.1G  1.9T   1% /cygdrive/d
10.128.96.191: D:                    1.1T   31G  1.1T   3% /cygdrive/d
10.128.96.194: D:                    1.1T  469G  616G  44% /cygdrive/d
10.128.96.214: D:                    1.1T  115G  970G  11% /cygdrive/d
10.128.98.165: D:                    251G  153G   98G  62% /cygdrive/d
10.128.96.174: D:                    1.1T  110G  975G  11% /cygdrive/d
10.128.96.193: D:                    1.1T   93G  993G   9% /cygdrive/d
10.128.96.221: D:                    816G   35G  781G   5% /cygdrive/d
10.128.96.186: D:                    1.1T  140G  946G  13% /cygdrive/d
10.128.96.169: D:                    1.1T  129G  957G  12% /cygdrive/d
10.128.96.229: D:                    809G  264G  546G  33% /cygdrive/d
10.128.96.183: D:                    1.1T  463G  623G  43% /cygdrive/d
10.128.96.171: D:                    1.1T  757G  328G  70% /cygdrive/d
10.128.96.190: D:                    1.1T  912G  174G  85% /cygdrive/d
10.128.96.209: d:                    523G  177G  347G  34% /cygdrive/d
10.128.96.208: d:                    523G   55G  468G  11% /cygdrive/d

   输出百分数那部分大于等于70%的行到另外一个文件 morethan70.txt 把百分数的百分号去掉,变成一个数字,然后进行比较。

【代码】

9

【解释】

   -F 是以什么分割。[ %]+说一个以上空格或者百分号分隔。
那么第六个就是要比较的数字了。

作者

   出处:http://www.cnblogs.com/gina

   本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

posted @ 2013-08-09 00:28  进击的程序员  阅读(6099)  评论(1编辑  收藏  举报