|
发表于 2003-12-1 22:16:58
|
显示全部楼层
在awk编程中,
BEGIN模式后面跟一个操作模块,如:BEGIN{...},在awk处理输入文件里的任意行之前执行该模块,其实不用任何输入文件就能测试一个BEGIN操作模块,因为直到BEGIN操作模块完成之后,awk才开始读取输入.BEGIN操作通常用来改变OFS,FS,RS等awk内制变量的值.
如:
awk 'BEGIN{FS=":";OFS="\t";ORS="\n"}{print $0}' filename
在处理输入文件之前,把域分隔符FS设定成冒号,输出域分隔符OFS设定成TAB键,并把输出记录分隔符ORS设定成一个换行符.
END模式不于任何输入行匹配,但是执行任何与END模式相关的操作.在所有输入行处理完成之后在处理END模式.
如:
awk 'END{print "some strings" NR }' filename
在awk处理完成文件后再执行END模块,NR的值是度入的最后一条记录号.
以上是对这俩个模块的简单解释! |
|