• 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

       本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    性能卓越的js模板引擎--artTemplate
    AngularJS学习笔记之依赖注入
    高性能的JavaScript库---Lodash
    如何阅读一本书
    我为什么写博客
    [cocos2d-x]深入--几个代表性的类 (续)
    [cocos2d-x]深入--几个代表性的类
    [cocos2dx]2.2到3.1(3.0)升级帮助
    [cocos2dx]利用NDK崩溃日志查找BUG
    IT技术团队管理-总结
  • 原文地址:https://www.cnblogs.com/gina/p/3247231.html
Copyright © 2020-2023  润新知