Loading... <p> 6、结构化控制语句</p> <p> 6.1 if语句</p> <p> 格式:if(条件) {body} else {else body}</p> <p> 实例1:判断/etc/passwd文件中的UID如果大于500则显示为“common user”,否则显示为“admin user”:</p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-81.jpg" title="1451110830162299.jpg" alt="1.jpg" /></p> <p> 6.2 while循环</p> <p> 格式:while(条件){body}</p> <p> 条件为真时进入循环体。</p> <p> 实例2:打印出/etc/inittab文件中每行中为偶数个的字符串:</p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-33.jpg" title="1451111414746209.jpg" alt="2.jpg" /></p> <p> 实例3:找出/etc/inittab文件中长度大于等于6个字符的字符串:</p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-94.jpg" title="1451111695772229.jpg" alt="3.jpg" /></p> <p> 6.3 do-while循环</p> <p> 格式:do {body}while (条件)</p> <p> 先进入循环体执行一次,再判断条件。</p> <p> 将实例3用do-while改写如下:</p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-77.jpg" title="1451113058682107.jpg" alt="4.jpg" /></p> <p> 6.4 for循环</p> <p> 格式:for (变量赋值;条件;条件修正){body}</p> <p> 将实例2和实例3分别使用for循环修改如下:</p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-16.jpg" title="1451113569361041.jpg" alt="5.jpg" /></p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-82.jpg" title="1451113588135150.jpg" alt="6.jpg" /></p> <p> 另外,for循环可用来遍历数组元素,其格式语法如下:</p> <p> for (i in 数组名) {for body}</p> <p> 6.5 循环控制</p> <p> (1)break</p> <p> 结束整个循环体。</p> <p> (2)continue</p> <p> 结束本次循环,进入下一次循环。</p> <p> 以上两个命令的用法与在shell脚本中的用法相同。</p> <p> 6.6 next</p> <p> 提前结束对本行的处理,进入下一行的处理。</p> <p> 实例4:显示/etc/passwd文件中行号为奇数的用户名:</p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-8.jpg" title="1451114851319635.jpg" alt="7.jpg" /></p> <p> 7、数组</p> <p> 7.1 定义数组变量</p> <p> array[index]=element</p> <p> inddex:可以使用任意字符串,如果某数组元素事先不存在,那么在引用时,awk会自动创建此元素并将其初始化为空串;因此要判断其数组是否存在某元素,可以使用“index in array”这种格式。</p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-33-1.jpg" title="1451116654389221.jpg" alt="8.jpg" /></p> <p> 7.2 遍历数组变量 </p> <p> 要遍历数组中的每一个元素,需要使用如下特殊结构:</p> <p> for (var in array) {for body}</p> <p> var会遍历array的索引。</p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-47.jpg" title="1451116900236070.jpg" alt="9.jpg" /></p> <p> 实例5:统计netstat -ant显示的结果中每种状态的个数:</p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-35.jpg" title="1451117105366916.jpg" alt="10.jpg" /></p> <p> 7.3 删除数组变量 </p> <p> delete array[index]</p> <p style="text-align:center"><img src="//cto.wang/usr/uploads/2016/07/20160703160942-8-1.jpg" title="1451117868806445.jpg" alt="11.jpg" /></p> <p></p> <p> </p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信