• awk 文本处理工具


    awk:

        强大的文本处理工具,擅长对日志文件进行分析;

        不仅用于Linux,也是任何环境中现在的功能最强大的数据处理引擎;

    语法说明:

    awk '{pattern + action}' {filenames}

    pattern:指在数据中要查找的内容;

    action:指要操作的指令。

    {}可以对一系列指令进行分组,不一定要出现。pattern要表达的正则表达式要用斜杠括起来。

    通常,awk是以文件的一行为处理单位,每接收一行就执行相应的命令。

    三种调用方法:

    1. 命令行:

      awk [-F field-separator] 'commands' input-files

        field-separator:域分隔符,指文件每一行中每个域分隔的符号,默认为空格。

    1. shell脚本:

      将所有awk命令插入到一个文件,并使awk程序可执行,awk命令解释器作为脚本的首行。

      #!/bin/awk

    2. 将所有awk命令插入到单独文件,调用:

      awk –f script-file input-files

      -f选项加载script-file中的awk脚本。

       

    awk执行流程:

    示例:

    1. awk '{print $1}' access.201204

      意思:显示access.201204文件的每一行中的第一个$1数据,$1为每一行中空格相隔的第一个字串,$2为第二个字串,以此类推。

      如果将print $1保存在文件内,假设保存为test1,则可以写成:awk –f test1 access.201204

    2. awk '$1~/sina/{print $1}' e20120706

      意思:$1字串匹配sina字符串时,则执行print $1。

    3. awk '{ip[$1]++} END { for (i in ip) {print i,ip}}' access.2028 | less |sort -nr

      意思:将每行$1作为ip数组下标,进行重复计数统计,完后再循环ip数组,显示下标和统计结果,并按降序排列。

    内置变量:

    操作符:

    常用的字符串函数:

    控制流和循环:

    数组输出:

    参考笔记:

    http://linux.vbird.org/somepaper/20090427-learn_sed_and_awk.pdf 

  • 相关阅读:
    qml-qt项目利用google 分析进行数据统计分析
    mark 一下
    一篇神文
    android webview web里面的数据透传到java以及java的数据透传到web
    数据库表大小排序
    sql 删除数据库所有用户表
    mssql 修改文件逻辑名称
    灰色滤镜,网页灰色代码
    log4net.config 单独文件
    js获取页面宽度高度及屏幕分辨率
  • 原文地址:https://www.cnblogs.com/xiwang6428/p/6389331.html
Copyright © 2020-2023  润新知