全部博文(151)
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