程序框架

就像c程序的入口函数约定是main(),awk也有自己的一套程序约定,参考下面的程序,还是以上一节中的chapter_1_1-1.data文件来进行处理:

chapter_1_2-1.awk

BEGIN{
    print("BEGIN");
}
{
    print("BODY");
}
END{
    print("END");
}

$awk -f chapter_1_2-1.awk chapter_1_1-1.data
BEGIN
BODY
BODY
BODY
END

一个完整的awk程序包含三部分:

  • BEGIN{} 的程序预处理部分,只在开始文件扫描前执行一次;

  • {} 程序主体部分,执行次数取决于目标处理文件的行数,每一行被扫描到时都会触发一次执行;

  • END{} 所有文件扫描完成后的触发执行一次,通常用作收尾的统计处理。

对于以上三个部分并不都是必须的,三者只需要具备其一就是一个合法的awk脚本,但基于良好的编程习惯来说,本书建议无论是否会用到全部三个部分,也还是在代码文件中明确的标记上所有的结构。

results matching ""

    No results matching ""