今天是腊月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(还有下一行) {
:读取下一行,并把下一行赋给$,各列赋给$,$...$N变量
: 用指定的命令来处理该行
}

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

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

 执行awk相关命令

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

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

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

参考文章:

    Mysql分析-awk+Threads分析状态

    Linux三剑客之awk命令

    Linux awk 命令

    AWK程序设计语言

awk分析mysql状态的更多相关文章

  1. 使用AWK分析Oracle系统锁定、Hang状态

    在早期Oracle版本中,由于技术不成熟等原因,数据库锁定和僵死状态还是时有发生的.对待这些问题,老先生们的处理策略无外乎是“重启”和“考究”两种策略.所谓“重启”,通过强制的重启服务器或者数据库,将 ...

  2. 从运维角度来分析mysql数据库优化的一些关键点【转】

    概述 一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善. 1.数据库表设计 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分 ...

  3. 监控mysql状态脚本

    监控mysql状态, 发现宕后, 自动重启, 每秒检查一次. check.sh #!/bin/bash while [ true ]; do /bin/sleep 1 sh mysql_status. ...

  4. Zabbix 监控 Mysql 状态

    简介: 如何使用 Zabbix 来监控 Mysql 状态 ? Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据 1.查看都有哪些 ...

  5. 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效

    数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...

  6. mysql状态查看 QPS/TPS/缓存命中率查看

    运行中的mysql状态查看   对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态.    (1)QPS(每秒Query量)  QPS = Questions(or Queries ...

  7. 蛙蛙推荐:如何实时监控MySql状态

    大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞 ...

  8. 实时监控MySql状态

    大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞 ...

  9. MySql状态查看方法 MySql如何查看连接数和状态?

    原文:MySql状态查看方法 MySql如何查看连接数和状态? 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接 怎么进入mysql命令行呢? mysql的安 ...

随机推荐

  1. selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.

    解决办法: 把chromedriver exe文件放到python scripts目录下

  2. chmod命令-权限

    ---··[转] hmod命令:改变文件权限.         一:符号模式:     命令格式:chmod [who] operator [permission] filename who包含的选项 ...

  3. [20180918]文件格式与sql_id.txt

    [20180918]文件格式与sql_id.txt --//记录测试中遇到的一个问题.这是我在探究SQL*Net more data from client遇到的问题.--//就是实际oracle会把 ...

  4. Linux下1号进程的前世(kernel_init)今生(init进程)----Linux进程的管理与调度(六)

    前面我们了解到了0号进程是系统所有进程的先祖, 它的进程描述符init_task是内核静态创建的, 而它在进行初始化的时候, 通过kernel_thread的方式创建了两个内核线程,分别是kernel ...

  5. Java的基础知识三

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  6. Announcing the Updated NGINX and NGINX Plus Plug‑In for New Relic (Version 2)

    In March, 2013 we released the first version of the “nginx web server” plug‑in for New Relic monitor ...

  7. linux下last与lastb命令详解

    在linux系统中,last与lastb命令用来列出目前与过去登录系统的用户相关信息.指令英文原义: last, lastb - show listing of last logged in user ...

  8. python 代码检测工具

    对于我这种习惯了 Java 这种编译型语言,在使用 Python 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心. 而且有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导 ...

  9. 转://Oracle 复合压缩索引场景及性能对比

    摘要:今天为什么提到这个话题,出于一个偶然,一个同事在优化新开发的系统时向我请教如何添加复合压缩索引的问题.我总结了一下,问题有三. 第一:需不需要压缩 第二:对第几列压缩 第三:性能对比,选出最优 ...

  10. 【转】iOS 音频-AVAudioSession

    1. AVAudioSession 概述 最近一年一直在做IPC Camera的iOS客户端开发.和音频打交道,必须要弄清楚 AVAudioSession. 先看下苹果的官方图:   Audio Se ...