awk简单的if判断

1.和之前一样我们首先了解if语句判断的格式
简单的if判断
awk '{if(){}}' file
举例说明:
首先模拟环境
[root@wish-10.0.0.200-22:17:15~ ]#cat file.txt
21 12 34
22 22 22
44 66 77
11 22 88
取出file文件里,第一行的第二列?
我们刚学awk的肯定一下就能取出来,如果要求我们使用if判断语句来取出来呢?
01.[root@wish-10.0.0.200-22:16:30~ ]#awk 'NR1{print $2}' file.txt
12
02.利用if
[root@wish-10.0.0.200-22:19:43~ ]#awk '{if(NR
1){print $2}}' file.txt
12
2.在/etc/passwd里面已知管理员用户的UID:0、虚拟用户的UID:1-999、普通用户的UID:1000+
我们知道在/etc/passwd里面以:为分隔符第三列为UID
然后我们可以使用一个间的if判断语句,来统计出管理员用户、虚拟用户、以及普通用户的数量?
[root@wish-10.0.0.200-23:14:15~ ]#awk -F: '{if($3==0){a=a+1}}END{print a}' /etc/passwd
1
由上条命令我们可以得出管理员用户的个数为1个、依此类推我们可以得出虚拟用户和普通用户的个数

现在我们用一条语句来得出管理员用户、虚拟用户、普通用户的个数
[root@wish-10.0.0.200-23:22:49~ ]#awk -F: '{if($3==0){a++}else if($3>0&&$3<1000){b++}if($3>=1000){c++}}END{print "管理员用户"a"个\n""虚拟用户"b"个\n""普通用户"c"个"}' /etc/passwd
管理员用户1个
虚拟用户23个
普通用户6个

posted @   老天啊  阅读(9635)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示