Windowsでawkを便利に使う-3

awk

awkを使って欲しい情報だけを抽出する超基本的なサンプルです。

最初に7列(カラム)目が”北海道” にマッチした場合に、必要な列を出力するサンプルをやってみました。

同様に、7列(カラム)目が”京都府”にマッチした場合に、必要な列を出力するサンプルに修正してみました。

大きなデータを扱う場合は、たったこれだけでもawkの便利さを実感出来るものです。なにしろちょっとしたスクリプトですが、12万行を2秒かからずに処理しちゃってますからね。

実際の処理です。$7が「”京都府”」と等しければ、$3と$7と$8をPRINTする命令を記していますawkにはフィールド番号という概念があり、左側から$1、$2と数えます。この概念のお陰で容易にCSV形式のファイルを扱うことが出来ます。

参考に付け加えれると、$0は行全体(1レコード)を指します。

BEGIN{
          FS=","
          OFS=","
}
$7=="\"京都府\""{
          print $3,$7,$8
}
END{

}

まだソースコードうんぬんという程のことではありませんが一応記しておきます。

徐々にもっと実用的なサンプルを実行してみたいと思います。

コメント

タイトルとURLをコピーしました