• awk分析mysql状态


      今天是腊月27,明天是腊月28,一到过年,就习惯说农历,而不说公历。这两天挺闲的,就再造一把。

      话说Linux处理文本工具有三剑客,awk、grep、sed,其中awk最为厉害,grep也挺是常用。今天就来说一说awk,并结合mysql应用。

    1.语法

     

    awk '{[pattern] action}' {filenames}

      用法有很多种,但是语法总结可以写成这样,分两个部分:pattern (条件)  + action(处理动作)。

      pattern表示 awk 在数据中查找的内容,是一些正则表达式或条件判断,这个选项也可以省略。

      action是指在匹配到内容后,要执行的命令。

    2.awk原理

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

      具体过程可以用这样的伪代码来描述

    While(还有下一行) {
        1:读取下一行,并把下一行赋给$0,各列赋给$1,$2...$N变量
        2: 用指定的命令来处理该行
    }

      下面看一个例子:city.txt文本中有5行2列数据

    [root@021rjsh216086s ~]# cat city.txt 
    BJ 010
    SH 021
    TJ 022
    HZ 0657
    ZZ 0371

      执行awk相关命令

    [root@021rjsh216086s ~]# awk '{print $0}' city.txt     #$0表示一行的所有列
    BJ 010
    SH 021
    TJ 022
    HZ 0657
    ZZ 0371
    [root@021rjsh216086s ~]# awk '{print $1}' city.txt     #$1表示一行的第一列
    BJ
    SH
    TJ
    HZ
    ZZ
    [root@021rjsh216086s ~]# awk '{print $2}' city.txt     #$2表示一行的第二列
    010
    021
    022
    0657
    0371

      再看第二个例子,city.txt 以竖线为分隔符。想要把数据分开,便用-F参数

    [root@021rjsh216086s ~]# cat city.txt 
    BJ |  010 | a
    SH |  021 | b
    TJ |  022 | c
    HZ |  0657| d
    ZZ |  0371| e

     [root@021rjsh216086s ~]# awk 'BEGIN{FS="|"} {print $1}' city.txt  #或 awk -F"|" '{print $1}' city.txt 
     BJ
     SH
     TJ
     HZ
     ZZ

      假如分隔符同时存在多种,竖线,问好,逗号。-F参数可以指定多个。 

    [root@021rjsh216086s ~]# cat city.txt 
    BJ |  010 ? a
    SH |  021 ? b
    TJ |  022 , c
    HZ |  0657, d
    ZZ |  0371, e
    [root@021rjsh216086s ~]# awk -F '[|?,]' '{print $1,$2,$3}' city.txt  #同时指定三个分隔参数
    BJ    010   a
    SH    021   b
    TJ    022   c
    HZ    0657  d
    ZZ    0371  e

    参考文章:

        Mysql分析-awk+Threads分析状态

        Linux三剑客之awk命令

        Linux awk 命令

        AWK程序设计语言

  • 相关阅读:
    如何查看MySQL执行的每条SQL
    最简单的方式在linux上升级node.js版本
    快速理解字符串和编码
    macaca常见错误排查
    macaca自动化初体验
    F2eTest程序快捷方式安装到桌面
    centos下mysqlreport安装和使用
    前端纯css 图片的模糊处理
    gulp入门学习教程(入门学习记录)
    关于nodejs中npm命令没有反应的解决方法
  • 原文地址:https://www.cnblogs.com/sdadx/p/8444945.html
Copyright © 2020-2023  润新知