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 把百分数的百分号去掉,变成一个数字,然后进行比较。
【代码】
【解释】
-F 是以什么分割。[ %]+说一个以上空格或者百分号分隔。
那么第六个就是要比较的数字了。
作者
出处:http://www.cnblogs.com/gina
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
awk处理之案例一:awk 处理百分比的问题的更多相关文章
- gawk(awk)的用法案例
gawk(awk)的用法案例 本文首先简单介绍一个gawk和awk的区别,然后是一点基本使用流程,最后是自己做的一个分析数据文件的脚本代码,供大家参考.另外想了解基本流程的入门知识的可以下载附件pdf ...
- 正则表达式以及sed,awk用法 附带案例
则表达式 基本正则 ^ $ [ ] [^] . * \{n,m\} \{n,\} \(ro\)\{2\} \(\) 扩展正则 egrep grep - ...
- Shell基础(六):使用awk提取文本、awk处理条件、awk综合脚本应用、awk流程控制、awk扩展应用
一.使用awk提取文本 目标: 本案例要求使用awk工具完成下列过滤任务: 1> 练习awk工具的基本用法 2> 提取本机的IP地址.根分区使用率 3> 格式化输出/et ...
- 【转】Awk 命令学习总结、AWk命令系列学习(linux shell)
前面的话 学习linux 的同人,都知道linux shell文本处理能力非常强大.有一组强大的文本处理工具:grep,sed,awk . 其中grep 经常用作查找匹配文本.sed用作文本编辑替换. ...
- Awk 命令学习总结、AWk命令系列学习(linux shell)
AWK基本语法 下面没有提到awk命令怎么使用了,你可以通过 运行:awk –h 查询到所有命令及参数!下面把awk作为一门语言分节介绍. linux awk 内置变量使用介绍 awk语言中,怎么 ...
- awk处理之案例四:sort加awk来过滤文本
编译环境 本系列文章所提供的算法均在以下环境下编译通过. [脚本编译环境]Federa 8,linux 2.6.35.6-45.fc14.i686 [处理器] Intel(R) Core(TM)2 Q ...
- awk处理之案例三:awk去掉不需要的文本行
编译环境 本系列文章所提供的算法均在以下环境下编译通过. [脚本编译环境]Federa 8,linux 2.6.35.6-45.fc14.i686 [处理器] Intel(R) Core(TM)2 Q ...
- awk处理之案例二:awk匹配文本
编译环境 本系列文章所提供的算法均在以下环境下编译通过. [脚本编译环境]Federa 8,linux 2.6.35.6-45.fc14.i686 [处理器] Intel(R) Core(TM)2 Q ...
- awk处理之案例六:awk根据条件插入文本
编译环境 本系列文章所提供的算法均在以下环境下编译通过. [脚本编译环境]Federa 8,linux 2.6.35.6-45.fc14.i686 [处理器] Intel(R) Core(TM)2 Q ...
随机推荐
- .NET开源工作流RoadFlow-流程设计-流程步骤设置-数据设置
数据设置是控制在流程处理过程中,当前步骤的数据显示与编辑状态,控制当前步骤哪些字段为只读,隐藏或可编辑.需要配合表单设计器使用.
- Linux中JDK环境变量的配置
在JDK安装好以后,需要进行环境变量的配置 配置目录 /etc/profile 在这个文件的末尾追加 JAVA_HOME=/home/j2sdk1.4.2_11PATH=$PATH:/home/j ...
- python2 编码问题详解
实例对比 定义 type str unicode print encode('utf8') decode('utf8') encode('unicode-escape') encode('string ...
- C# 堆和栈的区别-该文转自:http://www.itcodes.cn/746.html | 程序人生
理解堆与栈对于理解.NET中的内存管理.垃圾回收.错误和异常.调试与日志有很大的帮助.垃圾回收的机制使程序员从复杂的内存管理中解脱出来,虽然绝大多数的C#程序并不需要程序员手动管理内存,但这并不代表程 ...
- hdu 1412 {A} + {B}
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=3282 {A} + {B} Description 给你两个集合,要求{A} + {B}.注:同一个集合 ...
- .net 的生成操作
生成操作(BuildAction) 属性:BuildAction 属性指示 Visual Studio .NET 在执行生成时对文件执行的操作. BuildAction 可以具有以下几个值之一: 无( ...
- wpa_supplicant测试
Android系统中对于WIFI的设置集成到了“设置”中,其实跟手动设置差不多.这里介绍下如何手动连接WIFI,以方便以后调试WIFI. 第一步要做的就是要加载WIFI模块驱动了.当然如果你的WIFI ...
- rm -rf删除过多文件提示参数过长
cd /var/tmp/ find . -name "*.log"|xargs rm -rf "*.log"
- Qt 延时
第一部分: 关于sleep函数,我们先来看一下他的作用:sleep函数是使调用sleep函数的线程休眠,线程主动放弃时间片.当经过指定的时间间隔后,再启动线程,继续执行代码.sleep函数并不能起到定 ...
- mysql 创建一个用户,指定一个数据库
mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -p password use mysql; insert into use ...