注释
无论开始任何语言的学习,笔者坚持认为注释是其中最最重要的语法,必须首先掌握,只有这样才能在阅读别人源码的时候完成自己知识的消化积累。
单行注释
BEGIN{ # 在这里进行程序初始化 } { # 在这里处理单行的数据 print("Hello Comments!"); # 这里也可以写 } END{ # 在这里完成程序退出前的处理 }
$echo ""|awk -f chapter_2_1-1.awk
Hello Comments!
与shell脚本一样,awk的单行注释使用#
,本行其后的部分都会被覆盖
多行注释
awk官方是不支持多行注释的,但依然可以用一些奇淫巧技来实现类似的功能,如:
chapter_2_1-2.awk
0 { use me 4 comment in head but only in English no awk keyword can appear in there } BEGIN{ } { if(0) { at code should use me print("我是不会被执行的"); } print("我才会被执行"); } END{ }
$echo ""|awk -f chapter_2_1-2.awk
我才会被执行
在程序的开头可以使用0{}
的方式,程序中使用if(0){}
的方式,但是很快你就会发现这并不好用,不支持中文、也不能在其中程序awk的程序关键字,很难起到对程序的说明作用。
所以正确的用法是用if(0){}
来大批量的代码行注释,比如要临时屏蔽某段代码逻辑,但是又不想直接删除或是一行行的用#进行注释,就有些类似于c中#if 0 ... endif
的用法。