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堪称瑞士军刀绝不为过。
本系列文章均系笔者所写,难免有一些错误或者纰漏,如果小伙伴们有好的建议或者更好的算法,请不吝赐教。
正文
【场景】
现在有有一个文本a.txt, 里面包含的内容如下所示。 现在要把10:01和40:01的数据从文本中删除。
a.txt文本内容如下:
192.168.0.1 2013/07/01-01:25:01 2.176 0
192.168.0.1 2013/07/01-01:40:01 2.183 0
192.168.0.1 2013/07/01-01:55:01 2.201 0
192.168.0.1 2013/07/01-02:10:01 2.229 0
192.168.0.1 2013/07/01-02:25:01 2.171 0
192.168.0.1 2013/07/01-02:40:01 2.304 0
192.168.0.1 2013/07/01-02:55:01 2.192 0
192.168.0.1 2013/07/01-03:10:01 2.296 0
192.168.0.1 2013/07/01-03:25:01 2.906 0
192.168.0.1 2013/07/01-03:40:01 2.160 0
192.168.0.1 2013/07/01-03:55:01 2.219 0
192.168.0.1 2013/07/01-04:10:01 2.188 0
192.168.0.1 2013/07/01-04:25:01 2.151 0
192.168.0.1 2013/07/01-04:40:01 2.178 0
192.168.0.1 2013/07/01-04:55:01 2.203 0
192.168.0.1 2013/07/01-05:10:01 2.248 0
192.168.0.1 2013/07/01-05:25:01 2.155 0
192.168.0.1 2013/07/01-05:40:01 2.202 0
192.168.0.1 2013/07/01-05:55:01 2.153 0
192.168.0.1 2013/07/01-06:10:01 2.198 0
192.168.0.1 2013/07/01-06:25:01 2.165 0
192.168.0.1 2013/07/01-06:40:01 2.174 0
192.168.0.1 2013/07/01-06:55:01 2.243 0
192.168.0.1 2013/07/01-07:10:02 2.266 0
192.168.0.1 2013/07/01-07:25:01 2.174 0
192.168.0.1 2013/07/01-07:40:01 2.298 0
192.168.0.1 2013/07/01-07:55:01 2.180 0
192.168.0.1 2013/07/01-08:10:01 2.291 0
192.168.0.1 2013/07/01-08:25:01 2.217 0
【代码】
如果用awk一行命令实现应该如下所示:
awk '/^[(10:01)|(40:01)]/{print $2}' a.txt
【解释】
作者
出处:http://www.cnblogs.com/gina
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
awk处理之案例三:awk去掉不需要的文本行的更多相关文章
- Linux - awk 文本处理工具三
AWK 文件打印匹配 格式示例 awk '/Tom/' file # 打印匹配到得行 awk '/^Tom/{print $1}' # 匹配Tom开头的行 打印第一个字段 awk '$1 !~ /ly ...
- gawk(awk)的用法案例
gawk(awk)的用法案例 本文首先简单介绍一个gawk和awk的区别,然后是一点基本使用流程,最后是自己做的一个分析数据文件的脚本代码,供大家参考.另外想了解基本流程的入门知识的可以下载附件pdf ...
- 正则表达式以及sed,awk用法 附带案例
则表达式 基本正则 ^ $ [ ] [^] . * \{n,m\} \{n,\} \(ro\)\{2\} \(\) 扩展正则 egrep grep - ...
- zabbix生产环境案例(三)
生产环境案例(三) 链接:https://pan.baidu.com/s/1q5YwJMTcZLcS5OQ0iOu44A 提取码:8gdi 复制这段内容后打开百度网盘手机App,操作更方便哦 1. Z ...
- Shell基础(六):使用awk提取文本、awk处理条件、awk综合脚本应用、awk流程控制、awk扩展应用
一.使用awk提取文本 目标: 本案例要求使用awk工具完成下列过滤任务: 1> 练习awk工具的基本用法 2> 提取本机的IP地址.根分区使用率 3> 格式化输出/et ...
- WPF案例 (三) 模拟QQ“快速换装"界面
原文:WPF案例 (三) 模拟QQ"快速换装"界面 这个小程序使用Wpf模拟QQ快速换装页面的动画特效,通过使用组合快捷键Ctrl+Left或Ctrl+Right,可实现Image ...
- 【转】Awk 命令学习总结、AWk命令系列学习(linux shell)
前面的话 学习linux 的同人,都知道linux shell文本处理能力非常强大.有一组强大的文本处理工具:grep,sed,awk . 其中grep 经常用作查找匹配文本.sed用作文本编辑替换. ...
- Android实训案例(三)——实现时间轴效果的ListView,加入本地存储,实现恋爱日记的效果!
Android实训案例(三)--实现时间轴效果的ListView,加入本地存储,实现恋爱日记的效果! 感叹离春节将至,也同时感叹时间不等人,一年又一年,可是我依然是android道路上的小菜鸟,这篇讲 ...
- Awk 命令学习总结、AWk命令系列学习(linux shell)
AWK基本语法 下面没有提到awk命令怎么使用了,你可以通过 运行:awk –h 查询到所有命令及参数!下面把awk作为一门语言分节介绍. linux awk 内置变量使用介绍 awk语言中,怎么 ...
随机推荐
- GNU make 规则
clean : rm *.tmp 规则格式: targets : prerequisites recipe ... targets : prerequisites : recipe recipe .. ...
- find your present
Description In the present, and their card numbers are , , , , .so your present will be the one with ...
- SQL0294N 容器已在使用中。 SQLSTATE=42730
在建立数据库后,建立表空间时,出现如下错误: CREATE TABLESPACE TABLESAPCE_NAME PAGESIZE 32K MANAGED BY SYSTEM USING ('E:\D ...
- 找到一个学习bootstrap的好网站
http://www.w3cschool.cc/bootstrap/bootstrap-css-overview.html
- Visio编辑数据库模型列
Visio编辑数据库模型列:邮件group->Open实体,进入实体属性编辑界面,按回车可以添加.
- STM32管教复用与重映射关系
摘自:http://blog.csdn.net/lincheng15/article/details/51789093 概括一下:复用就是一个引脚有几个功能,1.做普通IO输入输出 2.其他外设的输入 ...
- 64.OV7725初始化配置
所有的结局都是好的,不好,是因为你还有坚持到最好. OV7725摄像头的初始化配置,需要SCCB总线即IIC接口配置.先发送配置数据到OV7725中,然后通过随机读取对应地址的数据来验证数据是否写进去 ...
- 基于.net mvc的校友录(五、web.config对的配置以及filter实现的权限控制)
web.config配置文件 此文件是整个系统的配置中心,它告诉iis服务器本网站需要哪些运行时环境,需要哪些环境,将要进行哪些操作,开发人员也会将一个常量性的数据放在此配置中,以备系统全局调用.此文 ...
- 怎么用PHP发送HTTP请求(转载)
本文转自:http://blog.snsgou.com/blog/161.html file_get_contents版本: /** * 发送post请求 * @param string $url ...
- LineNumberReader类
开发人员常常会随手写一些类来读入一个简单的配置文件,或者用BufferedReader一行一行地读入特定格式的数据.这些随手写成的解析器往 往会提供基本的出错报告,但有时候它们会很难记录下出错的行号. ...