必威体育Betway必威体育官网
当前位置:首页 > IT技术

linux awk命令介绍

时间:2019-11-03 06:15:39来源:IT技术作者:seo实验室小编阅读:50次「手机版」
 

awk命令

通常来说 我们使用grep即可满足我们大多数的需求了,但是还是有一些情况,grep是解决不了问题的,如我们的日志中有服务的响应时间,想过滤出响应时间超过200ms掉日志,这时候用grep就很难做到了。所以,很多时候我们还会使用到awk命令,awk命令是一个功能十分强大的命令,学会awk命令对我们解决问题有很大帮助。说到这里可能有人会想到sed命令,sed命令常常作用于一整行的处理,awk则比较倾向于将一行分成数个字段来处理,目前我遇到的情况还是awk使用的频率要高很多。

一.语法:awk '条件类型1 {动作1} 条件类型2 {动作2}...' filename

awk后面接两个单引号并加上大括号{}来设置想要对数据进行的处理动作。awk可以处理后续接的文件,也可以读取来自前个命令的输入。awk主要是处理每一行的字段内的数据,而默认的字段的分隔符为空格键或[tab]键。

二.使用介绍

举例:9#7#0#0#0#0#127.0.0.1#KBIH8I09CJK09BN89HILIBHKKXZV8OU##-1#null#4.9#null#null#0befb78b1527676906653这里我想取出文件名为test.log中的ip 127.0.0.1的话 可以使用awk -F '#' '{print $7}' test.log 这里的 -F ‘#’表示将这个字符串按照#分隔 如果不使用-F 则使用默认空格符分隔 分隔后打印第7条 这里如果是$0表示整行 所以具体分隔内容是从1开始,如果我们想取出第二个数字 这里是7 大于200的情况 可以使用awk -F '#' '{(if($2==7) {print $0})}',这样如果日志中存在第二个数字等于7的时候 就打印整行日志

三.awk的处理流程是 

1.读入第一行,并将第一行的数据填入$0,$1,$2等变量中

2.依据条件类型的限制,判断是否需要进行后面的动作

3.做完所有的动作与条件类型

4.若还有后续的"行"的数据,则重复1-3步骤,直到所有数据都处理完

四.awk中的内置变量

NF 每一行拥有的字段综述

NR 目前awk处理的是第几行数据

FS 目前的分隔字符 默认是空格键

五.awk的逻辑运算符

逻辑运算符主要包括 > < >= <= == != 很好理解,不做说明了 主要是==需要注意下

六.注意事项

1.所有awk的动作,即在{}内的动作,如果有需要多个命令辅助时,可利用';'间隔,或者直接以回车键隔开每个命令

2.逻辑运算中,等号需要使用==两个等号

3.格式化输出时,在printf的格式设置当中,务必加上\n,才能进行分行

4.与bash,shell的变量不同,awk中的变量可以直接使用,不需要加$符号

除此之外,awk还支持循环计算,感兴趣的可以学习下。

参考:鸟哥的私房菜

文章最后发布于: 2018-06-02 13:38:24

相关阅读

DOS命令把一个文件夹的文件拷贝到另一个文件夹

@echo off echo start copy? pause CHCP 65001 xcopy /s/y/i/f "D:\工作周报\*.xlsx" "D:\工作周报1" pause保存为一个  auto

Linux FTP客户端

  1.File Zilla File Zilla是一个开源的,跨平台的Linux FTP客户端。File Zilla有一个标签式的用户界面,允许用户查看正在传输的

为什么linux安装程序 都要放到/usr/local目录下

Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/W

两行命令查看电脑wifi密码

                      两行命令查看电脑wifi密码

web3j命令行工具

web3j的完全jar文件分发包对每一次发布都提供命令行工具。命令行允许你从终端(terminal)使用web3j的一些功能: 这些工具提供: 钱包

分享到:

栏目导航

推荐阅读

热门阅读