awk脚本编程

awk -F: '{if($3>=500 && <=60000) {print $1,$3} }' 1.txt //打印文件里的user和uid

注意不可以把逻辑运算符整体使用在awk变量两边

awk -F: '{if($3==0) {print $1"\tis admin"} else {print $1"\tis not admin"}}' 1.txt
//如果满足uid=3,则打印is admin

awk -F: '{if($3==0) {i++} else if($3>=1 && $3<=499 || $3==65534) {j++} else {k++}};END{print "管理员个数为:"i "\n系统用户个数为:"j"\n普通用户个数为:"k }' 1.txt
//awk定义i、j、k变量统计各人员数量

awk 'BEGIN{i=1;while(i<=5) print i;i++}' //while循环打印1到5

awk '{for(i=1;i<=10;i+=2) {print $0} }' 1.txt //循环打印5次当前记录,每条记录5次
awk '{for(i=1;i<=5;i++) {print $0} }' 1.txt //循环打印每条记录5次

一个awk语句{}默认是一个命令,如果没有{}必须加;
awk 'BEGIN{for(i=1;i<=5;i++) (sum+=i);print sum}' //for循环打印1到5的和
awk 'BEGIN{i=1;while(i<=5) (sum+=i) i++;print sum}' //while循环打印1到5的和 

嵌套循环

awk 'BEGIN{for(y=1;y<=5;y++) {for(x=1;x<=y;x++) printf x;print }  }' //循环打印
1
12
123
1234
12345
awk 'BEGIN{y=1;while(y<=5) {for(x=1;x<=y;x++) {printf x} y++;print }}' //y++之后换行
awk -F: '{shells[$NF]++ };END{for (i in shells) {print i,shells[i]} }' /etc/passwd
循环打印shells数组下标并统计下标个数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值