24 - awk流程控制

if语句

  • 单分支if判断

awk '指令' 文件

$ awk -F: '{if($3>=1000){i++}} END{print i}' /etc/passwd
1

$ awk -F: '{if($1=="root"){i++}} END{print i}' /etc/passwd
1

$ uptime | awk '{if($NF>0.01){print "CPUload:"$NF}}'
CPUload:0.35
  • 双分支if判断
    • awk '{指令}' 文件
$ awk -F: '{if($3>=1000){i++}else{j++}} END{print "普通用户:"i,"系统用户:"j}' /etc/passwd
普通用户:1 系统用户:18

$ ls -l /etc | awk '{if($1~/^-/){x++} else {y++}}END {print "普通文件个数:"x,"目录个数:"y}'
普通文件个数:83 目录个数:91

$ ls -l /etc | awk '{if($1~/^-/){x++}else if($1~/^d/){y++}else{z++}} END{print "普通文件个数:"x,"目录个数:"y,"其他个数:"z}'
普通文件个数:83 目录个数:74 其他个数:17

for循环

  • awk的for循环采用与C语言一样的语法格式
    • for(表达式1;表达式2;表达式3){指令}
$ awk 'BEGIN {for (i=1;i<=5;i++){print i}}'
1
2
3
4
5

$ awk 'BEGIN {for (i=5;i>=1;i--){print i}}'
5
4
3
2
1

小结

  • 单分支:if(条件){指令}
  • 双分支:if(条件){指令}else{指令}
  • 多分支:if(条件){指令}else if(条件){指令}... ...else{指令}
  • for循环:for(表达式1;表达式2;表达式3){指令}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • SHELL 流程控制 在shell的语句中,流程控制主要分为两种:简单流程控制语句:选择和循环复杂流程控制语句:函...
    hang1720阅读 1,697评论 0 0
  • 壹:>按文件类型进行判断 。 参数说明 -e 文件名如果文件存在则为真 -r 文件名...
    爱我中华_688c阅读 1,846评论 0 0
  • 流程控制语句 主要用于控制代码执行的顺序 流程控制就是指令 编程语言即人与计算机进行交流的语言 三种流程控制结构 ...
    moly琴阅读 2,635评论 0 0
  • 了解顺序结构的相关概述 掌握选择结构之if语句相关知识点 掌握选择结构之switch语句相关知识点 1. 流程控制...
    __method__阅读 3,315评论 0 1
  • 程序,都只是从第一行代码开始逐条执行,但这远远不能满足开发的需求,因为在很多场景中,我们需要选择性地执行一部分语句...
    三c_十六z阅读 5,468评论 0 2

友情链接更多精彩内容