开发者社区 问答 正文

linux awk 变量赋值和比较

请问前辈一下三句有什么不同
awk -F: 'BEGIN{sx=3199; print sx} {if($3==3199) print $1} END{print "End"}' passwd
2.
sx=3199
awk -F: 'BEGIN{print $sx} {if($3==$sx) print $1} END{print "End"}' passwd

  1. awk -F: 'BEGIN{sx=3199; print sx} {if($3==sx) print $1} END{print "End"}' passwd
  2. 输出

3199
nscc3199
End
2 输出
(空一行)
(空一行)
End
3 输出
3199
(空一行)
End
为什么呀?大神,各位大神指导一下,解释一下原因。因为我以为这3句是同样的结果才对!!!

展开
收起
杨冬芳 2016-07-14 15:57:29 2163 分享 版权
1 条回答
写回答
取消 提交回答
  • IT从业

    awk给外部变量赋值

    2019-07-17 19:56:26
    赞同 展开评论