awkで変数を初期化する

awkで変数を初期化する

変数を初期化するプロセスは何ですかawk?私はBEGINawkで、その句が最初に変数を初期化する適切な方法である可能性があることを読みました。

答え1

awkスクリプトの変数を初期化するには2つの一般的な方法があります。 1つの方法は、次のものを使用することです-vV変数)スイッチ。たとえば、-vfoo=bar変数をfoo文字列に初期化します'bar'

$ awk -vfoo=bar 'END {print foo}' < /dev/null
bar

別の一般的なアプローチは、セクションで変数を初期化することですBEGIN

$ awk 'BEGIN { foo="bar" } END { print foo }' < /dev/null
bar

私の考えでは、呼び出しにランタイムコンテキストによって変更される値が必要になる可能性がある場合は前者が有用であり、awk各実行で初期化値を変更する必要がない場合は後者がより良いです。

関連情報