免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1151 | 回复: 6
打印 上一主题 下一主题

请教一段awk的程序:) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-08-05 22:31 |只看该作者 |倒序浏览
tmp=`awk '$0~/(^\b*#)|(^\b*$)/&&v==NR-1{v++}END{print 0+v}' $Tmp2`


NR-1后的就看不懂了两个{}和END是什么关系?
还有^\b*#
和 ^\*#区别在哪里呢?

论坛徽章:
0
2 [报告]
发表于 2003-08-05 22:54 |只看该作者

请教一段awk的程序:)

打印文件首部空行和注释行的行数的吧.好象很眼熟。

论坛徽章:
0
3 [报告]
发表于 2003-08-05 23:26 |只看该作者

请教一段awk的程序:)

谢谢。不过对不起,我问的不是您所回答的问题。麻烦您仔细看一下
end的用处有什么用?我总觉得去掉也是在最后执行print,
参数b我man了 一下,好象没有吧?

论坛徽章:
0
4 [报告]
发表于 2003-08-05 23:42 |只看该作者

请教一段awk的程序:)

我说怎么这么眼熟

http://www.chinaunix.net/forum/viewtopic.php?t=121976

论坛徽章:
0
5 [报告]
发表于 2003-08-06 07:08 |只看该作者

请教一段awk的程序:)

end的意思是否是,他前面的执行完毕后再执行{}内的?
可是社shell不是从左到右吗?
如果真是这样,,似乎没有什么用呀?望您指教

论坛徽章:
0
6 [报告]
发表于 2003-08-06 08:43 |只看该作者

请教一段awk的程序:)

END不会匹配任何输入,但会执行和END连在一起的动作。END在所有输入行都处理后才会处理。
awk 'END{print "The number of records is " NR}' testfile
END会在awk处理文件后被执行

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2003-08-06 08:44 |只看该作者

请教一段awk的程序:)

这个是 awk 的语法,和 shell 无关。awk 的语法是:
awk BEGIN{...} + / 匹配模式 / + { 操作 } + END{...}

awk 对输入的数据进行操作,等所有数据操作完成后才执行END语句块中的语句。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP