Chinaunix

标题: awk显示最后一行的问题 [打印本页]

作者: 大红机器    时间: 2004-03-26 14:46
标题: awk显示最后一行的问题
  1. # cat file
  2. 1 2 3
  3. 4 5 6
  4. #awk 'END{print $NF}' file
复制代码

按理说这里的结果应该显示6吧,但用awk的3.1.x版本显示正常,别的就没有值。
请问:
1、这是什么原因?难道是低版本的错误?
2、不用tail,只用awk,怎么显示最后一行?
3、如何查看awk、sed的版本?我只会awk --v
    
作者: c1l2d3    时间: 2004-03-26 14:56
标题: awk显示最后一行的问题
我的:GNU awk 3.0.6显示正常.
作者: 大红机器    时间: 2004-03-26 15:04
标题: awk显示最后一行的问题
第2问暂时想到用awk '{x=$0}END{print x}' file这种方法实现。
楼上老兄你怎么看的版本啊?教教俺啊
作者: c1l2d3    时间: 2004-03-26 15:06
标题: awk显示最后一行的问题
俺也只会用awk --v         
作者: 大红机器    时间: 2004-03-26 15:09
标题: awk显示最后一行的问题
结论:能使用awk --v看版本的awk能将本例正确显示
作者: c1l2d3    时间: 2004-03-26 15:12
标题: awk显示最后一行的问题
谁能教教我sco怎么看版本号呢? 我在sco下用awk也可以显示正常,就是不知版本号.   
作者: bjgirl    时间: 2004-03-26 16:13
标题: awk显示最后一行的问题
原帖由 "大红机器" 发表:
按理说这里的结果应该显示6吧,但用awk的3.1.x版本显示正常,别的就没有值。
请问:
1、这是什么原因?难道是低版本的错误?
2、不用tail,只用awk,怎么显示最后一行?
3、如何查看awk、sed的版本?我只会awk -..........
  1. $awk 'BEGIN{while(getline<"file">0)n++;print n,$NF}'
复制代码

作者: labrun    时间: 2004-03-26 17:38
标题: awk显示最后一行的问题
打印最后一行
cat a | awk '{}END{print}'
作者: r2007    时间: 2004-03-26 18:51
标题: awk显示最后一行的问题
这样写应该适用大部分版本。
  1. awk '{ lf = $NF }; END{ print lf }'
复制代码

作者: bjgirl    时间: 2004-03-26 19:36
标题: awk显示最后一行的问题
原帖由 "大红机器" 发表:
按理说这里的结果应该显示6吧,但用awk的3.1.x版本显示正常,别的就没有值。
请问:
1、这是什么原因?难道是低版本的错误?
2、不用tail,只用awk,怎么显示最后一行?
3、如何查看awk、sed的版本?我只会awk -..........
  1. $echo "1 2 3\n4 5 6">a
  2. $:cat a
  3. 1 2 3
  4. 4 5 6
  5. $awk 'END{print $NF}' a
  6. 6
  7. $awk --version
  8. GNU Awk 3.1.1
  9. Copyright (C) 1989, 1991-2002 Free Software Foundation.
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2