awk用法三

  6、结构化控制语句

    6.1 if语句

      格式:if(条件) {body} else {else body}

        实例1:判断/etc/passwd文件中的UID如果大于500则显示为“common user”,否则显示为“admin user”:

1.jpg

    6.2 while循环

      格式:while(条件){body}

         条件为真时进入循环体。

        实例2:打印出/etc/inittab文件中每行中为偶数个的字符串:

2.jpg

        实例3:找出/etc/inittab文件中长度大于等于6个字符的字符串:

3.jpg

    6.3 do-while循环

      格式:do {body}while (条件)

        先进入循环体执行一次,再判断条件。

        将实例3用do-while改写如下:

4.jpg

    6.4 for循环

      格式:for (变量赋值;条件;条件修正){body}

        将实例2和实例3分别使用for循环修改如下:

5.jpg

6.jpg

     另外,for循环可用来遍历数组元素,其格式语法如下:

       for (i in 数组名) {for body}

    6.5 循环控制

      (1)break

        结束整个循环体。

      (2)continue

        结束本次循环,进入下一次循环。

    以上两个命令的用法与在shell脚本中的用法相同。

    6.6 next

      提前结束对本行的处理,进入下一行的处理。

        实例4:显示/etc/passwd文件中行号为奇数的用户名:

7.jpg

  7、数组

    7.1 定义数组变量

      array[index]=element

      inddex:可以使用任意字符串,如果某数组元素事先不存在,那么在引用时,awk会自动创建此元素并将其初始化为空串;因此要判断其数组是否存在某元素,可以使用“index in array”这种格式。

8.jpg

    7.2 遍历数组变量      

      要遍历数组中的每一个元素,需要使用如下特殊结构:

       for (var in array) {for body}

        var会遍历array的索引。

9.jpg

        实例5:统计netstat -ant显示的结果中每种状态的个数:

10.jpg

    7.3 删除数组变量 

     delete array[index]

11.jpg

 

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/10464

(0)
petmasterpetmaster
上一篇 2016-02-14
下一篇 2016-02-14

相关推荐

  • 推荐-DNS BIND初探

    DNS BIND DNS BIND 正向解析 反向解析 从服务器 子域授权 转发 view DNS 什么是DNS? DNS是domain name system,域名系统的简写,负责实现域名与IP的转换。 DNS的功能是什么? DNS能够将IP地址与域名相互双向转换,能够实现域名访问。 DNS的历史:  1. 初期网络…

    2016-04-19
  • N22-第八章作业

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。       网桥:网桥是工作在数据链路层的设备。用于将两个LAN连接在一起并按照Mac地址转发数据。网桥保存着所有与它相连的主机的Mac地址表和端口号并具有学习功能。当网桥收到某个数据包后,能根据目的主机的Mac地址再选择从哪个端…

    Linux干货 2016-10-24
  • 三种方案实现tomcat反代服务

    要求: 分别实现这三种架构:    1、nginx + tomcat cluster    2、httpd(proxy_http_module)+tomcat cluster    3、httpd(proxy_ajp_module)+tomcat cluster;   &nbsp…

    2017-07-03
  • linux网络配置

    一、 网络基本配置:  真不敢想象没有网络的一天应该怎样度过,但是有了网络就行了?原来刚有了网络时由于没有统一的标准,各大硬件厂商各自为政,都在搞网络,但是都只是同一厂商的设备可以进行通讯,就和不同的国家的人交流使用了不同的语言一样,难以将所有的网络连接起来,之后Internet有了统一的标准,大家都遵循它的标准,后来计算机才能进行网络通讯,同样将…

    Linux干货 2016-09-13
  • 22期第十一周课堂练习

    1、详细描述一次加密通讯的过程,结合图示最佳。 发送方:BOB                        &nbsp…

    Linux干货 2016-12-12
  • 开源跳板机Jumpserver v2.0.0 Beta版发布

    demo页面: http://demo.jumpserver.org admin admin 一. 更新Log — 登录脚本 — 1.1 使用paramiko原生ssh协议登录后端主机(原来版本使用pexpect模拟登录) 1.2 新增使用别名或备注登录 1.3 新增主机分组查看,使用更方便 1.4 多线…

    Linux干货 2015-04-20