AWKで入力ファイルの指定を不要にする方法 - AWK
○Gawk on Windows ○Gawk ○mawk32 ○Mawk ○awk
AWKプログラムの書き方を工夫すると、入力ファイルの指定が無くても動かす事が出来ます。**** 原理
o 次の時、AWK は入力ファイルが無くても、データ入力を要求せずに動きます。
+ BEGIN パターン以外のパターンを書かない時。
+ もしくは、BEGIN パターン内で入力ファイルを設定した時。
o ですので、入力ファイルの指定を不要にしたい時は、この条件のどちらかを満たすように書きます。
**** 手順
o BEGIN パターンだけ書く方法
--------
BEGIN {
print "眠れない時は、";
for (i = 1; i <= 39; ++i) {
print "ミクさんが " i "人。";
}
}
--------
+ 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。
o 入力ファイルをプログラムで追加する方法
--------
BEGIN {
ARGV[ARGC++] = "ミクさんの食べ物リスト.txt";
}
{
print $0;
}
--------
+ 詳しくは、「AWKの入力ファイルを、AWKプログラムの中で追加、削除(= キャンセル)する方法」
**** メモ
o BEGIN パターンだけの使い方は、特に、大量のテストデータを作る時に便利です
+ 問題が起きた時はメモ帳でも修正出来ますし、持ち運びも簡単です。
+ テスト終了後、テストデータは削除してしまっても、後で再作成出来ます。
o プログラムが途中で止まっているように見える時は、試しに文字を入力してみます。
+ 文字が入力出来る時は、AWKが、画面からのデータ入力を要求しています。
+ そのような時は、「Ctrl」キーを押しながら「Z」キーを押すと先に進みます。
+ 詳しくは、「入力ファイルを手入力する方法」
**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
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のパターンと制御文(▼ABC順)
▼AWKプログラムを書く(▼ABC順)
▼AWK
▼制作メモ
> AWKの入力ファイルを、AWKプログラムの中で追加、削除(= キャンセル)する
入力ファイルを手入力する
AWKPATH = コマンドでAWKファイル名を指定する時、ファイルの場所を省略する(Gawk, mawk32専用)
BEGIN = 最初に実行する