環境整備
1.Windows上で動くgawkのダウンロード
http://ftp.vector.co.jp/pack/win95/util/text/awk/gawk-mbcs-win32-20051223.zip?_ga=1.71611859.1794640146.1403167474
2.「おーくの友だち」ツールのダウンロード
http://hpcgi2.nifty.com/mozu/kz_download.cgi?Forawk111.zip
※このツールを持つと下記のことができます。
・gawk用のソースの作成、実行が楽になります。
・インプットファイルが複数の場合、簡単に指定できます。
・出力場所:クリップボード、スクリーン、ファイルなど指定できます。
・同じソースを複数のファイルに対して実行する時に楽です。
勉強用サイト
「おーくの友だち」というツールを使いながら勉強が楽しいです。
http://homepage2.nifty.com/mozu/koza/park_of_text.html
勉強を終わったら、下記のサイトでまとめて復習したらよいかもしれません。
http://www.osaka-kyoiku.ac.jp/~kokugo/nonami/awk/awkmini.html
サンプル
1.受信ファイルの中にタイトル行しかないファイルである場合、そのファイルを削除するコマンドを自動作成するサンプル
#------------------------------------------
#タイトルしかないファイルの削除用コマンド作成
#------------------------------------------
#------------------------------------------
#ファイルを読み込む前に1回だけ実行されるブロク
#------------------------------------------
BEGIN{
count = 0;
FS = "\t";#項目の区切り文字の指定する
}
#------------------------------------------
#1個目のフィールドの値でタイトルであるかどうかを判断し、
#タイトル行ではない行の個数を計算する
#------------------------------------------
$1 !~/^帳票種/ {count += 1;}
#------------------------------------------
#タイトル行しかないファイルの場合、削除コマンド作成
#------------------------------------------
END{
#最後の行である場合、データレコードの合計件数により、削除命令の出力制御を行う
if(count == 0){
print "del" " " FILENAME >> "C:\\Users\\Fowawk111\\result.bat" ;
}
}
#------------------------------------------
#この部分は$1 !~/^帳票種/ {count += 1;}と同じ役割
#------------------------------------------
#{
#タイトル行ではない行の計算を行う
# if ($1 !~/^帳票種/) {
# count += 1;
# }
#}
#------------------------------------------