awk 文本处理工具
awk:
强大的文本处理工具,擅长对日志文件进行分析;
不仅用于Linux,也是任何环境中现在的功能最强大的数据处理引擎;
语法说明:
awk '{pattern + action}' {filenames}
pattern:指在数据中要查找的内容;
action:指要操作的指令。
{}可以对一系列指令进行分组,不一定要出现。pattern要表达的正则表达式要用斜杠括起来。
通常,awk是以文件的一行为处理单位,每接收一行就执行相应的命令。
三种调用方法:
- 命令行:
awk [-F field-separator] 'commands' input-files
field-separator:域分隔符,指文件每一行中每个域分隔的符号,默认为空格。
- shell脚本:
将所有awk命令插入到一个文件,并使awk程序可执行,awk命令解释器作为脚本的首行。
#!/bin/awk
- 将所有awk命令插入到单独文件,调用:
awk –f script-file input-files
-f选项加载script-file中的awk脚本。
awk执行流程:

示例:
- awk '{print $1}' access.201204
意思:显示access.201204文件的每一行中的第一个$1数据,$1为每一行中空格相隔的第一个字串,$2为第二个字串,以此类推。
如果将print $1保存在文件内,假设保存为test1,则可以写成:awk –f test1 access.201204
- awk '$1~/sina/{print $1}' e20120706
意思:$1字串匹配sina字符串时,则执行print $1。
- 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
awk 文本处理工具的更多相关文章
- AWK文本处理工具(Linux)
AWK文本处理工具(Linux) PS:刚开始实习,就给了个处理百万级别数据的任务,以前学过SHELL的一些东西sed/awk之类的处理,但是也没有具体的应用,只是在10几行10几列的小数据操作过,所 ...
- Linux - awk 文本处理工具一
AWK AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一:awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命 ...
- Linux 之 awk文本分析工具
AWK是一种处理文本文件的语言,是一个强大的文本分析工具.Linux环境中自带. awk调用方法 命令行 awk [-F field-separator] 'commands' input-file( ...
- awk文本分析工具
Usage:awk [option] 'program' file ... awk [option] -f progfile file ... [optin]: -F fs 指定输入分隔符,fs可是字 ...
- Linux - awk 文本处理工具六 - 日志关键字筛选
查看多少行 ? awk '{print NR}' access.log |tail -n1 日期时间筛选检测 awk '/Dec 10/ {print $0}' /opt/mongod/log/mon ...
- Linux - awk 文本处理工具五
awk 线上处理常用模式 awk 处理复杂日志 6.19: DHB_014_号百总机服务业务日报:广州 到达数异常! DHB_023_号百漏话提醒日报:珠海 到达数异常! 6.20: DHB_014_ ...
- Linux - awk 文本处理工具四
awk 常用示例 获取本机 IP 方式 /sbin/ifconfig |awk -v RS="Bcast:" '{print $NF}'|awk -F: '/addr/{print ...
- Linux - awk 文本处理工具三
AWK 文件打印匹配 格式示例 awk '/Tom/' file # 打印匹配到得行 awk '/^Tom/{print $1}' # 匹配Tom开头的行 打印第一个字段 awk '$1 !~ /ly ...
- AWK文本分析工具-常用场景(持续更新中)
AWK help document:http://www.gnu.org/software/gawk/manual/gawk.html 问题 awk命令 备注 对请求IP统计分组排序? 显示列 ...
随机推荐
- 从输入URL到页面加载发生了什么?
总体来说分为以下几个过程: DNS解析 TCP连接 发送HTTP请求 服务器处理请求并返回HTTP报文 浏览器解析渲染页面 连接结束 具体内容点这里
- SQL注入之Sqli-labs系列第十七关(UPDATA– 基于错误– 单引号– 字符型)
开始挑战第十七关(Update Query- Error based - String) 首先介绍下update的用法: 作用:Update 语句用于修改表中的数据. 语法:UPDATE 表名称SET ...
- 当超强台风“山竹”即将冲进南海,Power BI 你怎么看?
这个周末“山竹 ”强势来袭!很多人的目光都在关注暴力水果“山竹”,这个号称70年最强最大风力超17级 台风“山竹”今天就已经在小悦家窗台肆虐咆哮了一天了!不知其他的小伙伴们是不是好好的一个周末就只能被 ...
- libev
libev是一个**事件驱动库**,它需要循环探测事件是否发生,在Linux上实际是封装了epoll等系统调用. 其循环过程由ev_loop( )函数设置,循环体是ev_loop结构. //创建事件循 ...
- Python3中的运算符
一.Python3中的运算符 强调这是Python3中的运算符 + 加法 - 减法 * 乘法 / 除法 // 整除,只要整数部分 ** 幂运算 % 取余数 ...
- linux列出目录下所有目录
我的一个目录下有很多文件,但是我想列出该目录下所有的目录,并且删除 列出目录下所有的目录,常用的方法是ll配合管道命令,比如 ll | grep "^d" 通过对ll命令的输出,抓 ...
- qt 内置图标使用
QToolButton *button = new QToolButton(this); button->resize(100,30); button->setToolButtonStyl ...
- nginx安装,配置,并可以放静态文件教程
简单介绍一下:nginx是一个高性能的HTTP和反向代理的服务器.能有处理最高5,0000的并发量,是新兴的一个代理服务器.中国大陆使用nginx网站用户有:百度.京东.新浪.网易.腾讯.淘宝等. 安 ...
- tomcat:利用tomcat部署war包格式的项目
配置jdk环境变量, 配置TOMCAT_HOME 变量, 将war包放入webapps中. 运行tomcar-bin文件夹中的startup.bat. tomcat会自动解压war包. 进入项目:
- hdu4135 Co-prime 容斥原理
Given a number N, you are asked to count the number of integers between A and B inclusive which are ...