FreeBSDでscript コマンドで操作ログを取得しメールで送信しています。


ラインフィールドとバックスペースを省いて送っていますが、
-------------------------------------------------------------
col -bx < $LOGFILE | mail -s "Script_logs" 宛先メールアドレス
-------------------------------------------------------------

メールソフトで閲覧した際、ee等のeditorで開いた部分が文字化けします。

例)
------------------------------------------------------------------------------------------------------------
ee /etc/profile
?1ltc/profile"e38/lines,o1139"characters15;60He1ons.18;60Hation19;60H.40;65H6;39H45;41H45;1H38;83H6;19H7m16
------------------------------------------------------------------------------------------------------------

これを回避する方法はないでしょうか?

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/08/23 20:20:33
  • 終了:2010/08/24 10:16:10

ベストアンサー

id:monyot No.1

monyo回答回数146ベストアンサー獲得回数182010/08/23 23:12:22

ポイント100pt

結論からいうと、回避できません。

これは、「文字化け」ではなく、エスケープシーケンスです。

http://hp.vector.co.jp/authors/VA016670/escape_code.html

eeやviなどのエディタでは、カーソルを上下左右に動かしたり、モノによっては色をつけたりすることができますが、これらはエスケープシーケンスで実現されています。

エスケープシーケンスを取り除いて送信すること自体は不可能ではないですが、本来エスケープシーケンスでカーソル移動させたり、色を変えたりした上で表示することを前提とする文字列を、それらの情報を取り払って出すことになるので、きれいな出力にはならないですね。

id:sifty77

ありがとうござます!

たしかに[ESC]で始まる文字列でした。

試行錯誤してたので、出来ないことが分かりすっきりしました!

エスケープシーケンスを省く方法を考えて見ます!

2010/08/24 10:15:48

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません