【摘要】
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