awk > 最初と最期に処理をする方法
更新日
2012-06-03
広告
最初と最期に処理をする方法を紹介します。
awkで、ファイルの内容を処理する前に、任意の処理を実行することがでいます。例えば、変数を初期化したりできます。
また、ファイルの内容を処理した後に、任意の処理を実行することもできます。例えば、各行の値を合計して、その結果を最期に出力したりできます。
データファイル sample.dat を利用して、説明します。
1 10 100 2 20 200 3 30 300
最初に処理する方法
最初に処理するためには、BEGIN を指定します。BEGINの後の {} の中に書いたプログラムは、ファイルを処理する前に、一度だけ実行されます。その次の {} の中に書いたプログラムは、ファイルの各行に対して実行されます。
$ awk 'BEGIN { sum=10; } { print sum+$1; }' sample.dat 11 12 13上の例では、最初に、変数sumを10で初期化しています。
最期に処理する方法
最期に処理するためには、END を指定します。ENDの後の {} の中に書いたプログラムは、ファイルを処理した後に、一度だけ実行されます。
$ awk 'BEGIN { sum = 0; } { sum += $1; } END { print sum; }' sample.dat 6上の例では、合計した後を、最期に出力しています。
広告
お問い合わせは sweng.tips@gmail.com まで。