2010年9月10日金曜日

AWKを実行する時に、プログラムファイルを複数指定する方法 - AWK

AWKプログラムを動かす
○Gawk on Windows ○Gawk ○mawk32 ○Mawk ○awk
複数のAWKプログラムファイルを読み込みたい時は、-f オプションを複数並べます。
o 良く使う処理などを部品化したくなった時に、便利です。


**** 手順
** -f オプションを複数並べます。
--------
gawk -f a.awk -f b.awk in.txt > out.txt
--------


o ファイル名の中に空白文字が混じる場合は、「"」で括ります。
--------
gawk -f "ミクさん その1.awk" -f "ミクさん その2.awk" in.txt > out.txt
--------

o UNIXの場合は、「'」と「"」の両方を使う事が出来ます。
   + 意味が少し違います。文字列の中に変数が混じっていない時は、「'」(シングルの方)を使うと処理が少し軽くなるみたいです。


**** 機能
o -fオプションは、AWKプログラムを指定するオプションです。
o 複数並べる事が出来ます。
o このオプションを指定すると、コマンドの中に書いたAWKプログラムは無視されます。

--------
gawk -f a.awk "BEGIN { print \"私は初音\" }" in.txt > out.txt
--------

o この場合、a.awkだけが実行されます。


**** メモ
o この他に、Gawkでは -W source オプションを指定する方法もあるみたいです。でも、試した所、Windows版では動きませんでした。
   + 何か、書き方が間違っているような気もしたのですが、今の所、-fオプションで満足しています。


**** 確認した処理系
o Gawk on Windows 3.1.7 -- Gawk拡張の -W sourceは失敗中
o Gawk for Windows 3.1.6 -- Gawk拡張の -W sourceは失敗中
o mawk MBCS (32bit版) 1.3.3
o Mawk for Windows 1.3.3
o original = the one true awk(updated May 1, 2007)


==
関連ページ:
    ▼AWKプログラムを動かす
    ▼AWK
    ▼制作メモ
    > AWKプログラム実行時に変数を設定する
    AWKで入力ファイルの指定を不要にする
    AWKの入力ファイルを、AWKプログラムの中で追加、削除(= キャンセル)する
    AWKPATH = コマンドでAWKファイル名を指定する時、ファイルの場所を省略する(Gawk, mawk32専用)
    ▼AWKプログラムを書く