mscut.README Copyright(C) 1999, Hisaaki Shibata 1. はじめに オープンソースソフトウエアを活用していると、情報源としていつのまにか複数の (大量の?)MLに参加していたりします。 気が付くと、ホームディレクトリの大部分をMail folderで占めていた と言う方も多いと思います。 そう言う方は、迷わずディスクの増設/入替を行うべきですが、 私のようにびんぼーな方は、何とかしてメールの不要なへッダを 取り除いて少しでもディスクの消費量を抑えようともがきます。 そんなあなたに送る ~/Mail/ 配下の整理ツールがこの mscut です(^^; MSメーラの利用者に多い「添付ファイル攻撃」で付いてくるファイルを 分離して捨てる or 格納する機能もありますので、Mail folderは 清く美しくありたい方にもおすすめです。 尚、このプログラムは「エム スカット」または「メッセージ スカット」と読んでください。 「エムエス カット!」ではありません;-)。 2. 使い方 使い方の例とシンタックスは $ mscut -h で表示されますが、Broken English なので、ここでは日本語で書いておきます。 mscut [-{c|C}hnprsvx] [-a HEADER] [-{b|B DIR}] [-{m|M} DIR] [{[-f] file|-F DIR}] 各オプションの意味は、下記です。 -a "HEADER1[|HEADER2]" へッダのなかで取り除きたいフィールドをデフォルトのものに追加する -b マルチパートのバイナリファイルを取り除いて捨てる -B "DIR" マルチパートのバイナリファイルをメールから取り除き、 DIR ディレクトリに格納する -c From:のアドレスのドメイン部分を暗号化する(検索エンジンなどでの公開用) -C From:だけではなくMessage-ID|In-Reply-To|Referencesも暗号化する -f mscutの対象となるファイル1つを指定する -F mscutの対象となるディレクトリを指定する(その下のサブディレクトリは対象外) -m "DIR" mscutを通したあとのファイルを格納するDIRディレクトリを指定する(元のファイルはいじらない) -M "DIR" mscutを通したあとのファイルをDIRディレクトリの下に Date:へッダをもとに年月(YYYYMM)のサブディレクトリを掘って格納する(元のファイルはいじらない) -p パイプモードで動かす(標準入力から読み込み、標準出力へ加工後のメールを吐き出す) #-p無しでもパイプで動くけど(^^; -r MLのメールのへッダ内のカウンタをSubjectから再構成する(ML用) -s プログラム内で指定している「不要なへッダ」を取り除く #これがデフォルトなので-sがなくても取り除く(^^; -v 動作時の様子を標準エラー出力に吐きながら動く(デバッグ用) -x X-で始まるへッダは全て取り除く -h へルプメッセージを出して終了 使い方の例としては、下記のようなパターンです。 mscut -x < ~/Mail/ML/linux-users/1000 > ~/Mail/ML/linux-users.clean/1000 X-ナンチャラと言うへッダを取り除く(パターン1) mscut -x -f ~/Mail/ML/linux-users/1000 X-ナンチャラと言うへッダを取り除く(パターン2) find ~/Mail/ML/ -name \"[0-9]*\" -exec mscut -x -f {} \; ~/Mail/ML/直下の[0-9]で始まるメッセージからX-ナンチャラと言うへッダを取り除く find ~/Mail/ML/BIZ -type d -exec ./mscut -x -B ~/tempfiles -F {} \; ~/Mail/ML/BIZ/直下のメッセージからX-ナンチャラと言うへッダを取り除き さらに添付ファイルをメッセージボディから取り除き~/tempfilesと言うディレクトリに書き込む MH and/or Mewなどのように1メッセージ1ファイルの形式のメールのみ処理可能です。 3. 制限事項(aka TODO) ・-m,-M,-B,-rオプションで指定されたディレクトリにすでに同じ名前のファイルがあっても上書きする。 #そのうち対処予定 ・-Bオプションでも、binhexでエンコードされたファイルはデコードされない。 #そのうち対処予定 ・-Bオプションで書き出すファイル名はEUC固定 #ソースをいじれば変更可能 そのうちオプションに追加予定 ・-Cオプションで暗号化される内容が、不完全でそのままではスレッドを追えない(^^; #そのうち対処予定 ・ソース内に不要なコードが残っている(^^; #そのうち対処予定 ・ソースは目がつぶれるほど汚い(^^;; #そのうち、きれいにしていきたいすが... 4. その他 ・このプログラムを利用して、メッセージが壊れても作者はいっさいの責任を取りません。 必ず、いくつかのメールで試してから実施するか、バックアップをとってから使ってください。 ・このプログラムは http://his.luky.org/prog/mscut/ で更新/公開します。 ・バグレポート and/or 機能追加要望などは shibata@luky.org にお願いします。 5.謝辞 このプログラムは、いくつかのオープンソースソフトウエアを参考にしたり、流用したりして 作成しています。ありがとうございます。 ソースコード中に謝辞を書いております。ご利用の方は一度ご覧下さい。 以上