【摘要】
awk是一款优秀的处理列文本的小工具。假设有N行文本,每行文本里假设有时间,现在想要把指定时间的文本去掉,然后保存到另外一个文本中去。【前言】
****************************************************
awk是脚本中出色的文本处理工具。源码好像也是用C语言写的。本系列
会针对不同的案例,用awk来解决我们所要的问题。
为什么会用awk呢?是的,我们当然可以使用C语言或者java语言来对文本
做处理,但是小伙伴们不会觉得麻烦么?每次都要编译。修改起来也麻烦,正所谓
杀鸡焉用牛刀。但脚本的灵活便捷使得工作变得更加轻松容易。
****************************************************
【场景】
现在有有一个文本a.txt, 里面包含的内容如下所示。 现在要把10:01和40:01的数据从文本中删除。
a.txt文本内容如下:
192.168.0.1 2013/07/01-01:10:01 2.201 0 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
【作者】Alex
出处:http://blog.csdn.net/hellotime本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。