伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

【shell】shell脚本实战-awk使用案例

来源:本站原创 浏览:131次 时间:2022-01-17


文章目录
    • 1. 打印特定字段
    • 2. NF, 字段数量
    • 3. 计算和打印
    • 4. 打印行号
    • 5. 在输出中添加内容
    • 6. 自定义格式输出
    • 1. 使用NR行号来定位提取IP
    • 2. 去除首行
    • 3. 其他使用
    • 4. 检查服务器是否受到DDOS***的脚本
    • 总结


1. 使用NR行号来定位提取IP
[root@ecs-c13b awk]# ifconfig eth0 |awk -F " " 'NR==2{print $2}'192.168.0.192

2. 去除首行
[root@ecs-c13b awk]# route -nKernel IP routing tableDestination     Gateway         Genmask         Flags Metric Ref    Use Iface0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eth0169.254.169.254 192.168.0.1     255.255.255.255 UGH   100    0        0 eth0192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

方法一:

[root@ecs-c13b awk]# route -n |grep -v ^KernelDestination     Gateway         Genmask         Flags Metric Ref    Use Iface0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eth0169.254.169.254 192.168.0.1     255.255.255.255 UGH   100    0        0 eth0192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0[root@ecs-c13b awk]#

方法二:

[root@ecs-c13b awk]# route -n |sed 1dDestination     Gateway         Genmask         Flags Metric Ref    Use Iface0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eth0169.254.169.254 192.168.0.1     255.255.255.255 UGH   100    0        0 eth0192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0[root@ecs-c13b awk]#

方法三:

[root@ecs-c13b awk]# route -n |awk 'NR!=1 {print $0}'Destination     Gateway         Genmask         Flags Metric Ref    Use Iface0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eth0169.254.169.254 192.168.0.1     255.255.255.255 UGH   100    0        0 eth0192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0[root@ecs-c13b awk]#

3. 其他使用

创建练习文件:

[root@ mysql-master ~]# vim data.txtBeth    4.00    0Dan     3.75    0kathy   4.00    10Mark    5.00    20Mary    5.50    22Susie   4.25    18

1. 打印特定字段
[root@ mysql-master ~]#  awk '{print $1,$3}' data.txtBeth 0Dan 0kathy 10Mark 20Mary 22Susie 18

在 print 语句中被逗号分割的表达式, 在默认情况下他们将会用一个空格分割 来输出. 每一行 print 生成的内容都会以一个换行符作为结束. 但这些默认行 为都可以自定义。

2. NF, 字段数量

依次打印出每一行的字段数量, 第一个字段的值, 最后一个字段的值:

[root@ mysql-master ~]# awk '{print NF, $1, $NF}' data.txt3 Beth 03 Dan 03 kathy 103 Mark 203 Mary 223 Susie 18

3. 计算和打印
[root@ mysql-master ~]# awk '{print $1, $2 * $3}' data.txtBeth 0Dan 0kathy 40Mark 100Mary 121Susie 76.5

4. 打印行号

Awk提供了另一个内建变量, 叫做 NR, 它会存储当前已经读取了多少行的计数. 我们可以使用 NR 和 $0 给 emp.data 的每一行加上行号:

[root@ mysql-master ~]# awk '{print NR,$0}' data.txt1 Beth4.0002 Dan3.7503 kathy4.00104 Mark5.00205 Mary5.50226 Susie4.2518

5. 在输出中添加内容

当然也可以在字段中间或者计算的值中间打印输出想要的内容:

[root@ mysql-master ~]# awk '{print "total pay for", $1, "is", $2 * $3}' data.txttotal pay for Beth is 0total pay for Dan is 0total pay for kathy is 40total pay for Mark is 100total pay for Mary is 121total pay for Susie is 76.5

6. 自定义格式输出

第1列使用15个字符宽度左对齐输出,最后一列使用15个字符宽度右对齐输出

[root@ecs-c13b awk]# awk -F: '{printf "USERNAME:%-15s %15s\n",$1,$NF}' /etc/passwdUSERNAME:root                  /bin/bashUSERNAME:bin               /sbin/nologinUSERNAME:daemon            /sbin/nologin

4. 检查服务器是否受到DDOS***的脚本
[root@ecs-c13b awk]# netstat -ntu |awk '{print$5}'|cut -d: -f1 |uniq -c |sort -n  1 100.125.1.41      1 114.181.58.197      1 120.245.114.128      1 45.79.47.198      1 Address      1 servers)

总结

awk的内容还远远未完,还需要大量的练习。sed,grep,awk,用之前都需要花一些精力把语法搞明白。

后面我会做个思维导图来梳理下这三个内容,帮助大家记忆。

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net