+ -
当前位置:首页 → 问答吧 → 新手,请教AWK中“;”的问题

新手,请教AWK中“;”的问题

时间:2011-06-23

来源:互联网

本帖最后由 一棵菠菜 于 2011-06-23 11:57 编辑

[root@leo leo]# cat employees
Tom Jones       4424    5/12/66         543354
Mary Adams      5346    11/4/63         28765
Sally Chang     1654    7/22/54         650000
Billy Black     1683    9/23/44         336500
  1. [root@leo leo]# awk '{name[x++]=$2};END{for(i=0;i<NR;i++);print i,name[i]}' employees
  2. 4
  3. [root@leo leo]# awk '{name[x++]=$2};END{for(i=0;i<NR;i++)print i,name[i]}' employees
  4. 0 Jones
  5. 1 Adams
  6. 2 Chang
  7. 3 Black
复制代码
请问这个分号在这里起到了什么作用???

作者: 一棵菠菜   发布时间: 2011-06-23

有;就是空循环

作者: greysky-zfj   发布时间: 2011-06-23

能解释得清楚点么?非常感谢。

作者: 一棵菠菜   发布时间: 2011-06-23

有;就是一直循环到最后一行,但是name为什么没被打印出来呢?

作者: 一棵菠菜   发布时间: 2011-06-23

回复 一棵菠菜


    改成name[++x],
但第二种写法才正确

作者: yinyuemi   发布时间: 2011-06-23

这个分号的问题,能解释下吗?谢谢。

作者: 一棵菠菜   发布时间: 2011-06-23

回复 一棵菠菜


    分号表示前一个命令的结束,是其与下一个命令分开

作者: yinyuemi   发布时间: 2011-06-23

回复 一棵菠菜


    分号(;)是语句分隔符/终止符。

作者: blackold   发布时间: 2011-06-23

for(表达式)语句;语句

for(表达式){语句}语句

楼主明白了不。

作者: zooyo   发布时间: 2011-06-23