
Linux shell awk逻辑控制语句
发布日期:2021-05-07 16:40:04
浏览次数:24
分类:技术文章
本文共 1603 字,大约阅读时间需要 5 分钟。
awk逻辑控制语句
1,if...else
格式:
if(条件){语句;语句} else {语句1;语句2}
如果statement只有一条语句,{}可以不写
以冒号为分隔符,判断第一个字段,如果为root,则显示用户为administrator,否则显示用户问common user
[root@wei csdn]# awk -F: '{if($3==0){print $1,"is administrator."}else {print $1,"is common user"}}' /etc/passwdroot is administrator.bin is common user
编写uid大于500的用户个数
[root@wei csdn]# awk -F: -v count=0 '{if($3>500) {count++}}END{print "uid大于500的用户数量:",count}' /etc/passwduid大于500的用户数量: 19
判断系统的bash用户和nologin用户
[root@wei csdn]# awk -v num1=0 -v num2=0 -F: '/bash$/ || /nologin$/{if($7=="/bin/bash"){num1++} else {num2++}}END{print "bash用户数量:",num1,"nologin用户数量:",num2}' /etc/passwdbash用户数量: 17 nologin用户数量: 20
2,while
格式:
while(条件) {语句1;语句2;.....}
passwd前3行进行输出,输出3次
[root@wei csdn]# head -n 3 /etc/passwd | awk '{i=1;while(i<=3){print $0; i++}}'root:x:0:0:root:/root:/bin/bashroot:x:0:0:root:/root:/bin/bashroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologinbin:x:1:1:bin:/bin:/sbin/nologinbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin
以冒号为分割符,判断每一行的每一个字段的长度如果大于4,则显之
[root@wei awk]# head -n 3 /etc/passwd | awk -F: '{i=1;while(i<=7){if(length($i)>4){print $i};i++}}'/root/bin/bash/sbin/nologindaemondaemon/sbin/sbin/nologin
统计test.txt的文件长度大小为5的单词
[root@wei awk]# awk '{i=1;while(i5){print $i};i++}}' print.txt
3,for 遍历数组
格式:
for(变量定义;循环终止的条件;改变循环条件的语句) {语句;语句...}
for(i=1;i<=4;i++) {......}
以冒号为分隔符,显示/etc/passwd每一行的前3个字段
[root@wei awk]# awk -F: '{for (i=1;i<=3;i++) { print $i} }' /etc/passwdrootx0bin
4, break contiune 用于中断循环
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月08日 17时06分41秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
5.11 TEST1
2019-03-04
牛客IOI周赛19-普及组
2019-03-04
2020牛客NOIP赛前集训营-普及组(第四、五场)
2019-03-04
uni-app请求头中携带token
2019-03-04
常用的 Git 命令和小技巧(1)
2019-03-04
vue中接收后台的图片验证码并显示
2019-03-04
springboot入门(1)---整合MyBatis
2019-03-04
Vue入门学习笔记(1)
2019-03-04
前端入门经验——页面布局
2019-03-04
ECharts——双向柱状图
2019-03-04
Vue——引进bootstrap
2019-03-04
Vue——引进ivew
2019-03-04
趣谈win10常用快捷键
2019-03-04
趣谈文件扩展名和隐藏文件
2019-03-04
追梦App系列博客——第五次例会总结
2019-03-04
大二数据结构(图的深度遍历的 非递归算法)
2019-03-04
数学建模(NO.18灰色预测)
2019-03-04
数学建模更新12(数学线性规划模型1)
2019-03-04
数学建模更新12(多目标规划)
2019-03-04
Java入门笔记(第三章 类与对象之static静态用法)
2019-03-04