Shell三剑客:awk(awk编辑编程)二

一、IF 语句

        IF 条件语句语法格式

#方式一:
if (condition)
      action
#方式二:使用花括号语法格式
if (condition)
{
      action1;
      action2;
...
}
{if(表达式){语句1;语句2;...}}

        IF 语句实例

#判断数字是奇数还是偶数
[root@localhost ~]# awk 'BEGIN {num =10; if (num % 2 ==0) printf "%d 是偶数\n",num}'
10 是偶数


#统计系统用户数
[root@localhost ~]# awk -F: '{if($3>0 && $3<1000){count++;}} END{print count
}' /etc/passwd
19

#判断 root 是不是 administrator
[root@localhost ~]# awk -F: '{if($3==0) {print $1 " is administrator."}}' /etc/passwd
root is administrator.


 

二、IF - ELSE 语句

        IF - ELSE 条件语句语法格式

#方式一:
if (condition)
    action1
else
    action2

#方式二:使用花括号语法格式
{if (condition)
{
      action1;
      action2;
       ...
}
else
{
       action1;
       action2;
       ...
}}
{if(表达式){语句1;语句2;...}else{语句1;语句2;...}} 

        IF - ELSE 语句实例

#判断数字是奇数还是偶数
[root@localhost ~]# awk 'BEGIN {
> num =11;
> if(num % 2 ==0) printf "%d 是偶数\n",num;
> else printf "%d 是奇数\n",num
> }'
11 是奇数

#判断用户为root就打印用户名否则打印shell类型
[root@localhost ~]# awk -F: '{if($3==0){print $1} else {print $7}}' /etc/passwd
root
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/bin/sync
/sbin/shutdown
/sbin/halt

#统计管理员数量和系统用户数量
[root@localhost ~]# awk -F: '{if($3==0){count++} else{i++}} END{print "管理 员个数:"count;print "系统用户数:"i}' /etc/passwd
管理员个数:1
系统用户数:36

 

 

三、IF - ELSE - IF 语句

        IF - ELSE - IF条件语句语法格式

{if (condition1)
{
    action1;
    action2;
    ...
}
else if (condition2)
{
    action1;
    action2;
    ...
}
else if (condition3)
{
    action1;
    action2;
    ...
}
else
{
    action1;
    action2;
    ...
}}
{if(表达式1){语句1;语句2;...}else if(表达式2){语句1;语句2;...}else if(表达式3){语句1;语句2;...}else{语句1;语句2;...}}

        IF - ELSE - IF 语句实例

#多级判断结果
[root@localhost ~]# awk 'BEGIN {
> a=30
> if (a==10)
>  print "a=10";
> else if (a==20)
>  print "a=20";
> else if (a==30)
>  print "a=30";
> }'
a=30

#统计管理员,系统,普通用户数量
[root@localhost ~]# awk -F: '{if($3==0){i++} else if($3>999){K++} else{j++}}
END {print "管理员个数:"i; print "普通用户个数:"k; print "系统用户:"j}' /etc/passwd
管理员个数:1
普通用户个数:
系统用户:19

 

 

 

 

 

 

相关推荐

  1. Shell剑客:sed(简介)

    2023-12-26 10:10:03       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-26 10:10:03       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-26 10:10:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-26 10:10:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-26 10:10:03       18 阅读

热门阅读

  1. Python爬虫---解析---BeautifulSoup

    2023-12-26 10:10:03       39 阅读
  2. http请求超时 ,用PHP如何解决的?

    2023-12-26 10:10:03       35 阅读
  3. MySQL联合索引

    2023-12-26 10:10:03       34 阅读
  4. Docker资源

    2023-12-26 10:10:03       30 阅读
  5. 制作spring boot docker镜像Dockerfile文件编写

    2023-12-26 10:10:03       34 阅读
  6. StarRocks-3.1.6升级

    2023-12-26 10:10:03       25 阅读
  7. PAT.1101.QuickSort

    2023-12-26 10:10:03       30 阅读