预习笔记day14(awk的语法参数以及简单应用)
1. awk是linux运维工作中最重要、最强大的工具之一。
2.awk命令语法及参数:
awk option 'pattern{action}' file...
awk 参数 '条件{动作}' 文件...
-F 指定字段分隔符
-v 定义或修改一个awk 内部的变量
$0 当前整行记录
$n 当前记录的第n个列,字段间有FS或-F参数指定分隔符
NF 当前记录中的列的个数,就是有多少列
$(NF-n) 倒数第n列,n为数字
NR 已经读出的记录数,就是行号,从1开始
awk不仅仅是linux系统中的一个命令,而且是一种编辑语言,可以用来处理数据和生成报告,处理的数据可以是一个或多个文件,它是linux系统最强大的文本处理工具,没有之一
3.awk命令常用功能:
3.1指定分隔符显示某几列
awk -F "GET|HTTP" '{print $2}' access.log
直接取出显示日志文件的这一列
3.2通过正则表达式取出想要的内容
awk '$6~/Failed/{print $11}' /var/log/secure
分析生产环境中的日志找出谁在破解用户密码
3.3显示某个范围内的内容
awk "NR==20,NR==30" filename
显示文件的20——30行
3.4通过awk进行统计计算
awk '{sum+=$0}END{print sum}' ett.txt
进行计算总和(高级功能)
3.5awk数组计算与去重
awk '{array[$1]++}END{for(key in array)print key,array[key]}' access.log
对日志进行统计与计数(高级功能)
4.实战使用
4.1去test.txt第二行到第三行的内容
先查看内容
过滤第二到第三行
4.2过滤出含有IPV6的行
4.3删除含有IPV6的行
4.4取文件的第一列或最后一列
4.5取出test.txt文件中的IP地址
先查看通过管道过滤第16行的第二列
上一篇
下一篇