问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

awk怎么取出mysql通用查询日志单个用户的所有操作?

发布网友 发布时间:2022-04-10 12:03

我来回答

2个回答

懂视网 时间:2022-04-10 16:24

  话说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程序设计语言

awk分析mysql状态

标签:target   工具   txt   数据   pat   部分   linux三剑客   逗号   sdn   

热心网友 时间:2022-04-10 13:32

if判断相等,应该使用   ==,而不是=。后者是赋值

if的用法:   if(条件)一条语句   或者   if(条件){一条语句或多条 }。if(条件)后面不应该有分号。

如果Connect分行,@分字段,$1字段是“    system”即它包含空格。这时判断$1=="system"实际上不相等。

基于以上问题建议更改:

echo "2843 Connect   system@127.0.0.1 as &&&" | awk 'BEGIN{RS="Connect";FS="@"}$1~/system/{print}'
system@127.0.0.1 as &&&

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 支付宝密码是什么组成 太原哪里修电脑比较好,而且实惠 安装了腾讯手机管家,老是自动弹出来,什么原因? 太原市特殊教育学校,谁能告诉我 手机总是自动弹出推荐安装带病毒的应用咋办 太原哪里卖会议话筒海绵罩 EXCEL表格 怎么把小数点第二位全为0 苹果手机系统升级有用吗 鲁迅先生他会激动的说,真的勇士,敢于面对嘲笑,敢于面对破烂的麦克风,能找到这样的太原最火爆的KTV吗? 手机一直弹出安装程序 怎么办?是不是中病毒了? 太原柳巷娱乐场所 山西太原附近几个县有哪几家炮厂 excel小数点怎么把0.00改成0? 沈阳太原街附近有没有卖麦克风线的,,唱歌的那种话筒线。急! 太原哪有卖音响设备的(无线话筒,调音台,音箱,功放等) 手机经常跳出垃圾软件要求安装,有没有高手能处理? 苹果升级有什么好处? 太原青龙电脑城有200元左右的创新声卡吗?有便宜点的电容麦克风吗? 山西省太原市普国电子城有卖各种麦克风及DJ混音台打碟机的装备吗??或者太原市哪里有卖的..... 太原市什么地方有售飞利浦38001麦克风? 金裕人生我交了三年了每年两万当时说是三年而合同却是五年我想退保能退多少钱 谁知道山西太原百度明珠的具体情况 古代没有麦克风怎么开会 为什么支付宝支付密码要设置成6位数 金裕人生5年交10万,年交2万,10年退保,能退多少 excel 中如何设置小数点后两位数值四舍五入后显示为零 例如:3.56显示为4.00 给孩子买了平安保险的金裕人生,年交5万,交5年,我想知道孩子20岁的时候要是退保,大概能得到多少钱 橘庆太 的资料 买了三年金裕人生,每年交21000多,已交完,想退保,能退多少? 金裕人生5年交10万,年交2万,10年退保,能退多少? 支付宝密码一般由什么组成::: 平安金裕人生退保能够退多少 应该如何设置自己的支付密码? 平安金裕人生退保能够退多少啊? 惠州车牌在惠州四座能坐六人吗? 惠州外地挂车超载被扣怎么处理? 在朋友的忽悠下买了平安保险‘金裕人生’现退保又不划算。难道这种情况下就没有办法可以制裁吗 平安金裕人生交了两年,想退保,退保后除现金价值,第二年的 固定返还会给我吗? 买了平安金裕人生退保 金裕人生可以退保吗