最近 awk をよく使う

NeoOffice が重いので、DOS 時代のように awk を使う。フォーマットとしては視認性のよいタブ区切りテキストが多く1、sed, sort, たまに Perl も併せて使う。結果を less で確認し、ちょっと違うなぁ、とワンライナーを修正する。とにかく速い。待たされることがないのでストレスフリー。Excel でくれと言われたときだけ NeoOffice から Excel 形式で保存して渡す。

いやー。っていうかね、あのフィルタとかソートとか使い勝手がよく分からなくって。コマンド叩いた方が早いんだもん。

脈絡がないが最近 SAX ライブラリを使ってみていた。なんだか awk のパターン・アクションの構造に似ているような気がした。Sax ライブラリを wrap してやって、グローバル変数の代わりにクラスのメンバ変数を利用すればそっくり。パターンに該当する部分が

  • 要素の開始タグ
  • 要素の終了タグ
  • テキストノード

に限定されていると思えばよい。

cf. Simple API for XML - Wikipedia

  1. ここ笑うとこね。BEGIN {FS="\t"; OFS="\t"} しとくこと。 

More