そこで一つ気を付けないといけないのが実行順序。
sun% cat begin.awk
BEGIN{
print "BEGIN"
}
sun% cat begin2.awk
BEGIN{
print "BEGIN2"
}
二つのスクリプトは渡した順に実行される。言わば、実行する前に cat 等で一つのファイルにしたような感じだ。
sun% nawk -f begin.awk -f begin2.awk
BEGIN
BEGIN2
sun% nawk -f begin2.awk -f begin.awk
BEGIN2
BEGIN
そのため、メインにあたる部位が複数のスクリプトに渡ると制御が難しくなるので、注意が必要だ。
関数を作り、実行時にどのライブラリを指定するかを変えて、同じメインプログラムに違う動作をさせることも出来る。しかし、経験上、あまりややこしくするとデバッグ等が大変になるので、awk には過剰なライブラリ群は向いていない。
セコメントをする