- 单分支if指令
awk '{指令}' 文件
if() {指令}
[root@zabbix-server script]# awk -F: '{if($3>=1000){i++}}END{print i}' /etc/passwd
2
[root@zabbix-server script]# awk -F: '{if($1=="root"){print $1,$3}}' /etc/passwd
root 0
[root@zabbix-server script]# uptime | awk '{if($NF>0.01){print "CPUload:"$NF}}'
CPUload:0.05
[root@zabbix-server script]#
- 双分支if判断
awk '{指令}' 文件
if() {指令}else{}
[root@zabbix-server script]# awk -F: '{ if($3>=1000){i++}else{j++} } \
> END{print "普通用户:"i,"系统用户:"j}' /etc/passwd
普通用户:2 系统用户:47
[root@zabbix-server script]# ls -l /etc/ | awk '{ if($1~/^-/){x++}else{y++} } \
END{print "普通文件:"x,"目录个数:"y}'
普通文件:125 目录个数:158
- 多分支if判断
awk '{指令}' 文件
if() {指令}else if(){}... ...else{}
[root@zabbix-server script]# ls -l /etc/ | awk \
> '{
> if($1~/^-/){x++} else if($1~/^d/){y++}else{z++} \
> }
> END{print"普通文件个数:"x,"目录个数:"y,"其他个数:"z}'
普通文件个数:125 目录个数:142 其他个数:16
概述
- awk的for循环采用与C语言一样的语法格式
for(表达式1;表达式2;表达式3){指令}
[root@zabbix-server script]# awk 'BEGIN{for (i=1;i<=5;i++){print i}}'
1
2
3
4
5
[root@zabbix-server script]# awk 'BEGIN{for(i=5;i>=1;i--){print i}}'
5
4
3
2
1

Awk脚本实战:条件分支操作与数据处理
本文介绍了awk脚本中单分支、双分支和多分支if判断的使用方法,通过实例演示了如何根据条件进行数据筛选和计数,并探讨了for循环在awk中的应用。涵盖了从基本条件判断到复杂数据操作的全面解析。
1184

被折叠的 条评论
为什么被折叠?



