awk的常用使用笔记
来源:互联网 发布:手机网络配置怎么设置 编辑:程序博客网 时间:2024/05/29 13:20
通常,我用awk都是在日志文件上,查找某一字段,比如,我要查找访问某个接口的ip有多少,nginx日志文件1.txt的一段如下:
127.0.0.1 - - [11/Mar/2015:15:06:45 +0800] "GET / HTTP/1.1" 403 582 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" -127.0.0.1 - - [11/Mar/2015:15:06:45 +0800] "GET /favicon.ico HTTP/1.1" 404 582 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" -127.0.0.1 - - [11/Mar/2015:15:06:47 +0800] "GET /php HTTP/1.1" 301 195 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" -127.0.0.1 - - [11/Mar/2015:15:06:47 +0800] "GET /php/ HTTP/1.1" 200 13348 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" -127.0.0.1 - - [11/Mar/2015:15:06:51 +0800] "GET /php/index.html HTTP/1.1" 200 13348 "http://127.0.0.1:81/php/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" -127.0.0.1 - - [11/Mar/2015:15:07:36 +0800] "GET /php/ HTTP/1.1" 200 13348 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36" -
我要找访问index.html的ip,那么可以
awk '/index/{print $1}' 1.txtawk是一行一行扫描输入的,默认是以空格分割,但可以用F参数来指定分割符,比如:
awk -F "[-]" '{print $1}' 1.txt上面就是以横杠为分割
print 是输出,awk分段是从$1开始,而$0是一行的意思,在模式里面可以写正则表达式,比如上面的'/index/{print $1}'就是匹配含有index的一段。
还有,比较常用的一个功能是比较,比如
有个文件叫1.txt,里面有名字,工资每小时,小时数
lilei 4.00 0
fang 3.75 0
haha 4.00 10
wo 5.00 20
我要查找工作时间大于0的人的名字和总工资,则:awk '$3 > 0 {print $1, $2*$3}' 1.txt
最后,这里面有个问题,不知道发现了没有,awk默认以空格分段,那是多少空格呢?1个?2个?还是不限制?
试验下,空格和tab都是连续无限制的,对于其他分隔符就不行了参考资料:http://awk.readthedocs.org/en/latest/chapter-one.html
0 0
- awk的常用使用笔记
- awk的使用 第十一部分 awk中常用的模式
- awk使用笔记
- awk使用笔记
- 常用的awk命令
- awk的学习笔记
- AWK常用的命令实例
- awk的使用(一)
- awk的使用
- awk的使用
- awk 的使用
- awk的使用
- awk的使用(1)
- awk的使用(2)
- awk printf 的使用
- awk的使用
- linux awk的使用
- awk的简单使用
- Linux源码编译(一):从头文件说起
- 安卓图表引擎AChartEngine(三) - 示例源码折线图、饼图和柱状图
- Scrapy入门
- MyISAM InnoDB 区别
- cocos2d-x游戏开发回调函数
- awk的常用使用笔记
- Android中AppWidget的分析与应用:AppWidgetProvider
- 十大网站布局和颜色搭配评析
- Flume学习笔记
- Scrapy: Run Using TOR and Multiple Agents Part 2
- 构建高并发高可用的电商平台架构实践
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
- Error: invalid csrf token
- 三层架构思想