From utashiro @ iij.ad.jp Mon Jan 10 07:45:33 2005 From: utashiro @ iij.ad.jp (Kazumasa Utashiro) Date: Mon Jan 10 07:45:47 2005 Subject: [Tokyo-pm] mg-5.0.1.3 release Message-ID: <20050111.004533.27782275.utashiro@iij.ad.jp> ちょっと日が経ちましたが、おめでとうございます。 以前から grep で足りない機能を実装するために Perl で mg というコマンド を作って、自分では結構重宝して使っています。いくらかは他のユーザもいる ようなので、アップデートすると 昔は comp.lang.perl とか fj.comp.lang.perl あたりにアナウンスしていたのですが、もはやニュースを 読んでいないので場所がありません。 3年ぶりくらいで新しいバージョンを作ったので、とりあえずここに報告させて ください。一応マニュアルも更新してあるつもりなので、詳しい機能はそっち を読んでください。 http://www.srekcah.org/~utashiro/perl/scripts/mg/ http://www.srekcah.org/~utashiro/perl/scripts/mg/mg-5.0.1.3 こういうものについてのフィードバックを受け付ける場所をどうしたものかと 思って、いくらか工夫もしてみたのですが、メーリングリストというのは、ど うもうまくいきません。最大の原因はメールをちゃんと読まないことなのでしょ う。じゃあ blog はどうなんだということで、実験的にサービスを買ってみま した。 http://log.utashiro.com/pub/project_mg/ 巷では流行っているらしいので、去年一時期使おうとしてみたものの、インタ フェースとしてはあまり感心できるものではなく、どうしたものかと思っては いるのですが、よかったら活用してみてください。うまくいかない根本的な原 因は、手を抜きたいと思っているからなのかも知れませんが :)。そこから抜い た文章を最後に付けておきます。 ところで、このメーリングリストは、最近あまり活発ではないのですかね。こ の前、偶然通りがかって Shibuya Mongers の会合を覗いたら大変盛況でしたが、 そういう情報は流れないの? それとも、普通は両方に入るのか? でも、渋谷に 馴染みはないからなあ… ---------------------------------------------------------------------- 最近、翻訳の仕事をしているのだが、原文をテキストでもらっているので、そ れに訳文を加える形で作業をしている。訳語を確認するために、以前のテキス トを検索することがよくあるが、原文にも出てくる言葉を探そうとするとマッ チしすぎて不便である。 そこで、検索対象の範囲を制限するためのオプションを追加した。--exclude オプションでパターンを指定すると、そのパターンにマッチする部分は検索の 対象からはずれるのである。あっても出てこないだけで、テキストの中には残っ ているので、行番号がずれるようなことはない。 たとえば、 mg --exclude '(?s)/\*.*?\*/' if *.c のようにすると、C のコメント以外の部分からだけ if を探すことができる。 逆に --include にすれば、コメントからだけ検索する。 これは大変便利なのだが、このオプションを使おうとすると、手で入力するの はあまり現実的ではない。ましてや、emacs の grep コマンドから使うのは大 変。そこで、ユーザが自分自身で新しいオプションを定義できるようにしてみ た。ホームディレクトリの .mgrc にオプション定義を書いておくと起動時に読 んでくれる。これで複雑なオプションも簡単に使うことができるようになった。 さらに、--exlucde と --include のオプションには、パターンだけでなくて関 数も指定することができて、複雑なパターンは自分でプログラムを書いて範囲 を生成する。実際、翻訳原稿の処理などはパターンで指定できるほど単純では ないので、プログラムを書くのである。このプログラムもやはり .mgrc に書く ことができる。 ---------------------------------------------------------------------- --utashiro