トップ «前の日記(2007-04-04) 最新 次の日記(2007-04-08)» 編集

2007-04-06 [長年日記]

_ 最近 awk をよく使う

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

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

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

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

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

cf. Simple API for XML - Wikipedia

Tags: Awk

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

本日のツッコミ(全2件) [ツッコミを入れる]
_ Rocco (2007-04-10 12:59)

xgawk (xmlgawk) というのもありますよ。<br>XML (HTML) のタグ単位で awk が扱えます。

_ wtnabe (2007-04-10 17:04)

いやぁ存在は知ってるんですよ。でも素朴な疑問なんですが、awk で XML いじれて面白いんでしょうか?(^^; XML を操作するときって、それが目的なんじゃなくてたいていそれ以外の目的を達成するためのデータやプロトコルのようなものとして XML があるので、awk でいじれて嬉しいシーンが思いつかないんですよねぇ(^^; awk で TCP/IP を喋って XML を処理する、なんつーのは「粋」だなとは思うんですが。