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语言中,怎么 ...
随机推荐
- 我的WPF控件库——KAN.WPF.XCtrl(141105)
自己开发的WPF控件库,只是初版,有扩展的Button,TextBox,Window.详细参见前几篇博文. WPF自定义控件(一)——Button:http://www.cnblogs.com/Qin ...
- 自己的php函数库
//判断数组中是否有元素为空的函数,支持多维数组,相似系统函数in_array(value,array,type) function is_null_array($arr) { if(!is_arra ...
- Collaborative filtering
Collaborative filtering, 即协同过滤,是一种新颖的技术.最早于1989年就提出来了,直到21世纪才得到产业性的应用.应用上的代表在国外有Amazon.com,Last. ...
- hdu 2579 Dating with girls(2)
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2579 Dating with girls(2) Description If you have sol ...
- RCF
1. RCF: 纯c++的RPC, 不引入IDL, 大量用到boost,比较强大.2. casocklib: protobuf + asio 较完善实现3. eventrpc: protobuf + ...
- 配置 apt-get cloudera 离线source(Cloudera Manager的源)
配置 apt-get cloudera 离线source(Cloudera Manager的源) 创建/etc/apt/source.list.d/cloudera-manager.list文件,并在 ...
- centos下各种c++库文件的安装
Centos编译boost 1.下载最新的boost http://www.boost.org/ 2.解压文件 tar -xzvf boost_1_45_0.tar.gz 3.编译bja ...
- [转]Linux Ubuntu上架设FTP
Linux Ubuntu上架设FTP http://www.blogjava.net/stonestyle/articles/369104.html 操作系统:ubuntu (GNU/Linux) 为 ...
- MD5值算法原理
MD5原理说明 一.MD5算法介绍. MD5,即“Message-Digest Algorithm 5(信息-摘要算法)”,从名字来看就知道它是从MD3.MD4发展而来的一种加密算法,其主要通过采集文 ...
- 如何设置potplayer播放时总在最前端
1.测试平台:potplayer 64位 2.步骤:在播放器界面上点击右键->选项->基本->最前端方式-选播放视频时在最前端(或是总在最前端) 3.选择:基本->最前端方式- ...