美文网首页
预习笔记day14(awk的语法参数以及简单应用)

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

作者: 劉歓 | 来源:发表于2019-03-19 23:24 被阅读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行的第二列


    相关文章

      网友评论

          本文标题:预习笔记day14(awk的语法参数以及简单应用)

          本文链接:https://www.haomeiwen.com/subject/xasomqtx.html