awk的BEGIN与END模式

BEGIN模式后面跟了一个操作块。awk命令必须在对输入文件进行任何处理之前先执行该操作块。实际上,不需要任何输入文件,也能对BEGIN块进行测试,因为awk要在执行完BEGIN操作块后才开始读取输入。BEGIN操作常常被用于修改内置变量(OFS、RS、FS等)的值、为用户自定义变量赋初值和打印输出的页眉或标题。

范例

$ awk  'BEGIN{FS=":";OFS="\t";ORS="\n\n"}{print $1,$2,$3}' file

说明:在处理输入文件之前,awk先把字段分隔符(FS)设为冒号,把输出分隔符(OFS)设为制表符,还把输出记录分隔符(ORS)设为两个换行符。如果BEGIN的操作块中有两条或两条以上语句,必须用分号分隔它们或每行只写一条语句(在shell的命令提示符下输入时,必须用反斜杠来转义换行符)。

范例

$ awk  'BEGIN{print "MAKE YEAR"}'
MAKE YEAR

说明:awk将显示MAKE YEAR。awk打开输入文件之前先执行该print函数,即使没有指定输入文件,awk也照样打印MAKE和YEAR。调试awk脚本时,可以先测试好BEGIN块的操作,再编写程序的其余部分。
END模式不匹配任何输入行,而是执行任联何与之关的操作。awk处理完所有输入行之后才处理END模式。

参考资料:http://www.linuxawk.com/jiaocheng/195.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值