平成15年度 専門コア情報処理演習
y
(理学部 数理情報科学科い組 対象、塩田教官)
y
12月1日の教材(4)
前へ
/
戻る
/
次へ
□ プログラムファイルの作成
AWK プログラムが長くなるときは
awk ' $3>0 { print $1, $2 * $3 } \
$3==0 { print $1, ": not ordered" } ' bungu
のように、\ を使って、次の行に続けて記述することもできます。 ( \ を書かずに改行を入れてしまうとエラーを起こします。)
しかしタイプミスなどがあると、長いプログラム文をもう一度書くのは大変です。 そこで、AWK プログラムをテキストファイルとして作成して使う方法を覚えましょう。
プログラム文の部分
$3>0 { print $1, $2 * $3 }
$3==0 { print $1, ": not ordered" }
をchuumon.awk という名前のテキストファイルに作成します。 (
先頭の awk、引用符、\ マーク、最後の bungu(動作対象のファイル名)は除きます。
) できあがったら確認しましょう。
cat chuumon.awk
$3>0 { print $1, $2 * $3 }
$3==0 { print $1, ": not ordered" }
コマンドツールでは
awk -f chuumon.awk bungu
のように打ちます。 -f オプションが、「その直後の chuumon.awk というプログラムを使うよ」 という意味です。
これだと、AWK プログラムの再利用もできますね。
□ フィルターコマンドとして
AWK は フィルターコマンドでも あります。 もし対象ファイルの指定がないときは標準入力からの入力行を処理します。
ですから、次の2つは同じ動作をします。
awk ' $3 > 0' bungu
cat bungu | awk ' $3 > 0'
前へ
/
戻る
/
次へ