当前位置:  技术问答>linux和unix

关于awk shell

    来源: 互联网  发布时间:2017-01-16

    本文导语:    大家好!我写了一个很简单的Shell: #!/bin/awk -f BEGIN {   print "$0 test0:", $0; } 有一个文件,内容如下: 85#Junior 87#Senior 75#Senior 86#Junior 81#Senior 请问两个问题: 1.为什么执行:./awk_array.sh grade.txt,没有文本打印出...

  大家好!我写了一个很简单的Shell:
#!/bin/awk -f
BEGIN {
  print "$0 test0:", $0;
}

有一个文件,内容如下:
85#Junior
87#Senior
75#Senior
86#Junior
81#Senior

请问两个问题:
1.为什么执行:./awk_array.sh grade.txt,没有文本打印出来呢?当我把文件改为
#!/bin/awk -f
BEGIN {
  #print "$0: test0", $0;
}
{
  print "$0: test1", $0;
}
END{
  print "$0: test2", $0;
}

这样却有文本打印出?awk Shell方面的语法结构是怎样的?

2.我想学习Shell方面的编程,尤其是awk Shell方面的,请问有什么实用的教程可以推荐呢?

谢谢大家!

|
在BEGIN语句块里面awk还没有开始读文件内容,所以$0为空

O'Reilly sed & awk 2nd Edition 英文版
http://bbs.chinaunix.net/viewthread.php?tid=1588614#pid11286082

O'Reilly sed & awk 2nd Edition 中文高清修订第3版
http://bbs.chinaunix.net/thread-1743038-1-1.html

|
awk 总体来说就是模式+动作

BEGIN 是一个特殊的模式,表示在文件处理之前匹配
END 是一个特殊的模式,表示在文件处理之后匹配

没有模式的动作会全部匹配执行

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • awk里可以嵌套awk吗?
  • 怎样让awk输出到中途退出awk?
  • 请问一下AWK怎么样在一行文本中的第14个字段的最后面加一个空格符呢,不知道AWK的写法该怎么写,在线求教,谢谢了!!!
  • 运行awk脚本文件碰到:-bash:student_tot.awk:command not found
  • 关于awk提取文本时的一个输出结果显示问题
  • awk能改变变量的值么?
  • 关于awk的一点问题
  • 新手请教一段AWK代码,报错。
  • awk如何删除一个文件?
  • awk 匹配字符串
  • awk 引用的问题
  • awk参数中文件名是变量的情况
  • awk中如何带入变量
  • AWK
  • 用awk如何在当前目录下所有文件中搜索字符串
  • awk脚本执行不了
  • 如何用awk统计数据
  • 入门级的awk问题
  • awk的日期函数问题.请高人指点
  • gawk与nawk 以及awk的区别和怎么使用,有点不是很明白请高手赐教!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3