预习笔记day14(awk的语法参数以及简单应用)

2019-03-19  本文已影响0人  劉歓

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行的第二列


上一篇下一篇

猜你喜欢

热点阅读