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
elseaction2#方式二:使用花括号语法格式
{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

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/300007.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

西南科技大学计算机网络实验二 (IP协议分析与以太网协议分析)

一、实验目的 通过分析由跟踪执行traceroute程序发送和接收捕获得到的IP 数据报,深入研究在IP 数据报中的各种字段,理解IP协议。基于ARP命令和Ethereal进行以太网帧捕获与分析,理解和熟悉ARP协议原理以及以太网帧格式。 二、实验环境 与因特网连接的计算机网络系统;主机操…

微擎模块 出现Error: template source ‘common/message’ is not exist!解决方法

今天有会员反馈微课堂分销中心打不开&#xff0c;错误提示模板找不到&#xff1a;Error: template source ‘common/message’ is not exist!&#xff0c;看了下这模板应该微擎框架通用的&#xff0c;进公众号会员管理-会员中心网址居然也打不开&#xff0c;提示一样的错误&…

异常和智能指针

智能指针的认识 智能指针是一种C语言中用于管理动态内存的工具&#xff0c;它们可以自动管理内存的分配和释放&#xff0c;从而避免内存泄漏和悬空指针等问题。智能指针可以跟踪指向的对象的引用次数&#xff0c;并在需要时自动释放被引用的内存&#xff0c;这极大地提高了内存…

github新建仓库推送代码教学

之前一直用gitee&#xff0c;准备转到github。因为一步一步尝试。如果是新手或许文章会有帮助 点击 new 创建 拉代码 Idea 打开 复制一个 pom 文件作为 maven 管理 提交代码 不出意外的出意外&#xff0c;报错 点击authorize JetBrains 失败 分析问题 本质就是没有…

ICC2:add text脚本

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 相关文章链接: ICC2:gds to ndm流程 #ICC2 add text参考脚本 set_snap setting -enabled {false} f

043、循环神经网络

之——RNN基础 杂谈 第一个对于序列模型的网络&#xff0c;RNN。 正文 1.潜变量自回归模型 潜变量总结过去的信息&#xff0c;再和当前信息一起结合出新的信息。 2.RNN 循环神经网络将观察作为x&#xff0c;与前层隐变量结合得到输出 其中Whh蕴含了整个模型的时序信息&#xf…

RK3588平台开发系列讲解(AI 篇)RKNN rknn_query函数详细说明

文章目录 一、查询 SDK 版本二、查询输入输出 tensor 个数三、查询输入 tensor 属性(用于通用 API 接口)四、查询输出 tensor 属性(用于通用 API 接口)五、查询模型推理的逐层耗时六、查询模型推理的总耗时七、查询模型的内存占用情况八、查询模型里用户自定义字符串九、查询原…

MySQL的事务-隔离级别

上篇&#xff0c;整理了MySQL事务的原子性&#xff0c;这篇继续整理MySQL事务的一致性、隔离性和持久性。 2. 一致性指的是事务开始前和结束后&#xff0c;数据库的完整性约束没有被破坏&#xff0c;这保证了数据的完整性和一致性。一致性必须确保数据库从一个一致的状态转换到…

【MYSQL】MYSQL 的学习教程(七)之 慢 SQL 优化思

1. 慢 SQL 优化思路 慢查询日志记录慢 SQLexplain 分析 SQL 的执行计划profile 分析执行耗时Optimizer Trace 分析详情确定问题并采用相应的措施 1. 慢查询日志记录慢 SQL 如何定位慢SQL呢&#xff1f; 我们可以通过 慢查询日志 来查看慢 SQL。 ①&#xff1a;开启慢查询日志…

Redis缓存穿透、缓存击穿、缓存雪崩介绍

一、Redis的缓存穿透 1.什么是缓存穿透&#xff1f; 缓存穿透是指&#xff1a;客户端请求的数据在缓存中和数据库中都不存在&#xff0c;这时缓存就永远不会生效&#xff0c;这些请求都打到数据库从而导致数据库压力过大。 2.出现缓存穿透的解决方案&#xff0c;以下是常用的两…

力扣经典面试题——搜索旋转排序数组及最小值(二分搜索旋转数组系列一次搞定)

我们先来看看一个常规的二分搜索是如何进行的&#xff1f; 例如要找一个有序数组的某个数 【1&#xff0c;2&#xff0c;4&#xff0c;5&#xff0c;9&#xff0c;11&#xff0c;15&#xff0c;19】 我们要找11&#xff0c;每次我们分割半边判断然后看到底在哪一边。 这里为什么…

TCP 三次握手:四次挥手

TCP 三次握手/四次挥手 TCP 在传输之前会进行三次沟通&#xff0c;一般称为“三次握手”&#xff0c;传完数据断开的时候要进行四次沟通&#xff0c;一般称为“四次挥手”。 数据包说明 源端口号&#xff08; 16 位&#xff09;&#xff1a;它&#xff08;连同源主机 IP 地址…