awkがCSVファイルの編集や、情報抽出に非常に相性の良いツールだという事は、使ってみて初めて理解できることだと思いますので、ここでいっちょ例題というかやってみようと思います。
素材は、日本郵便が提供している郵便番号データとします。全国版をダウンロードして圧縮を解凍し、テキストエディタで開くと12万行以上あることが分かります。
MS-ExcelでもCSVファイルを読み込む事は出来ますが、Excel 2003までは6万数千行までしか読み込めませんので全国分は一度には作業出来ません。Excel 2007以降なら12万行でも読み込めますけどね。最近のバージョンであれば、無料で使用出来るオフィススイートOpenOfficeやLibreOfficeのCalcでも大丈夫です。
ファイルを開けるという話で言えば、表計算でも可能ですが、実際に抽出処理を行うとawkの処理能力の素晴らしさが一気にアピール出来ます。是非とも実際にやってみていただきたいです。
例えば、欲しい列(郵便番号、都道府県、市、町名番地)を抜き出すとしましょう。表計算ならKEN_ALL.CSVを開いて、不要な列を削除して、別名で保存という感じの手作業になると思います。PCのスペックによってはもっさりした動作になるかも知れません。
awkなら下記のスクリプトを通すだけで一瞬です。
続きを読む