Chinaunix首页 | 论坛 | 博客
  • 博客访问: 575357
  • 博文数量: 151
  • 博客积分: 3330
  • 博客等级: 中校
  • 技术积分: 1686
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-08 02:41
文章存档

2011年(151)

分类: LINUX

2011-04-27 00:13:39

BEGIN模式

BEGIN模式后面紧跟了一个操作块,awk必须在对输入文件进行任何处理之前先执行该操作块。

范例:

nawk 'BEGIN{FS=":";OFS="\t";ORS="\n\n"}{print $!,$2,$3}' datafile

在处理文件之前,nawk先把字段分隔符设为冒号,输出分隔符设为制表符,输出记录分隔符设置两个换行符。如果BEGIN的操作块中有两条或以上的语句,必须用分号分割或每行只写一句。

END 模式

END模式不匹配任何输入行,而是执行任何与之关联的操作。awk处理完所有输入行之后才处理END模式。

范例:

nawk 'END{print "the number of records is" NR}' filename

nawk '/mary/{count++}END{print "mary was found" count times}' datafile


递增运算符

nawk '/^north/{count += 1;print count}' datafile

如果记录以north开头,则变量count 加1,然后打印


递减运算符

nawk '{x = $7--;print "x = ",$7 = "$7 }' datafile


 

阅读(882) | 评论(0) | 转发(0) |
0

上一篇:mysql 备份

下一篇:awk 条件语句

给主人留下些什么吧!~~