Linux shell编程自动化运维,三剑客之awk脚本编程 详细解析

awk 脚本编程

awk调用变量

自定义内部变量 -v

awk -v user=root -F: '$1 == user' /etc/passwd
-v定义变量

外部变量 " ’ '"

双引号
   # var="bash"
# echo "unix script" | awk "{print "123",\"$var\"}"
   123 bash
注意 awk调用外部变量时,外部使用双引号,内部也使用双引号,但需要转义内部的双引号
单引号
   # var="bash"
# echo "unix script" |awk '{print $1,"'"$var"'"}'
   unix  bash
注意使用单引号时,内部需要用双引转义

条件判断

if 语句

格式

{if(表达式){语句;语句;…}}

示例
如果$3是0,就说他是管理员

awk -F: '{if($3==0) {print $1 " is administrator."}}' /etc/passwd

if…else 语句

格式

{if(表达式){语句;语句;…}else{语句;语句;…}}
{if(){}else{}}

示例 1
如果第三列是0,打印该行第一列,否则法印第七列,登入shell

awk -F: '{if($3==0){print $1} else {print $7}}' /etc/passwd

示例 2
统计管理员和系统用户的数量

awk -F: '{if($3==0){count++} else{i++}} END{print "管理员个数: "count ; print "系统用户数: "i}' /etc/passwd

if…else if…else 语句

格式

{if(表达式1){语句;语句;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值