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

AWK 奇怪问题!

    来源: 互联网  发布时间:2014-12-10

    本文导语:  执行如下脚本:   find /mnt/adshel/wwwroot -type d|nawk '      NR=2 {    print "#"NR;   print "acl (""$0"/");";     print "deny (write,execute,delete,list,info) ";   print " (user = "anyone");";   print  "";   next;         } ...

执行如下脚本:
  find /mnt/adshel/wwwroot -type d|nawk '
     NR=2

  print "#"NR;
  print "acl (""$0"/");";  
  print "deny (write,execute,delete,list,info) ";
  print " (user = "anyone");";
  print  "";
  next;
        }
     '> acl.conf
  后,察看生成的 acl.conf 文件,发现如下格式:
    #1
#It is a file to forbid the list file! 

/mnt/adshel/wwwroot/alwin_backup
#2
acl ("/mnt/adshel/wwwroot/alwin_backup/");
deny (write,execute,delete,list,info) 
 (user = "anyone");

/mnt/adshel/wwwroot/alwin_backup/jsp
#3
acl ("/mnt/adshel/wwwroot/alwin_backup/jsp/");
deny (write,execute,delete,list,info) 
 (user = "anyone");

我的问题是, #2,#3 上面的那一条语句为什么会打出来?实在是没有道理啊!


|
对不起,搞错了。真正的原因是因为你的条件判断NR>=2之后的左大括符要和NR>=2应该在同一行,而不是另起一行。如下

     NR>=2{ 
  print "#"NR;
           ...

man 页中有如下提示:
The opening brace ``{'' must be on the same line as the pattern for which  the actions should be performed. Multiple action statements may appear on a  single line if they are separated by semicolons ``;''.

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












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


  • 站内导航:


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

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

    浙ICP备11055608号-3