まだ、改行コードの件が直っていないみたいです。本文が一行になります。
携帯電話へ転送する際に、いちいち手で改行を挿入するのも面倒なので、サクッとなんとかしたいと思い、ちょっと加工してみるテスト。
まず、素直にテキストエディターで開いてみます。
Windows 付属の Notepad.exe (メモ帳) では、やっぱり改行無しの一行に連続表示されてしまいます。
では、秀丸エディタでは? と開くと、一見良い感じに改行を挿入してはくれます。
が、Content-Type: 記載の文字コード(Shift_JIS) で開いているにもかかわらず、一部分文字化け↓します。
(図1)
秀丸エディタで LF→CR+LF 変換。
(画像サイズ 89KB、クリックで拡大 164KB)
・・・
バイナリーエディターでメールボックスファイルをいじるのは面倒くさすぎるので、ちょっと BAT を作ってみましょう。
日本IBM http://www.ibm.com/developerworks/jp/linux/library/l-tiptex5/
> ヒント: trを使ってファイルをフィルターにかける
上記ページには、awk の例↓が載っています。
awk '{ print $0"\r" }' < unixfile > dosfile
これを元にunix tool の awk を使うと、こんな感じ↓になりました。
(図2)
awk で LF→CR+LF 変換。
(画像サイズ 66KB、クリックで拡大 104KB)
本文は OK なんですが、残念ながらヘッダーに改行が追加された結果、Subject: 行などをメーラーが認識していません。
使ったコマンド等は以下の通りです。
実行 BAT コマンド:
awk -f LF.mbx.awk < LF.mbx > CR-LF.mbx
LF.mbx.awk の内容:
{ print $0"\r" }
※ ( CMD.exe / COMMAND.com でなく) bash 使ったら? と云うツッコミはこの際なしと云うことでお願いします。(w
・・・
では、続いて sed では? とやってみます。
日本IBM http://www.ibm.com/developerworks/jp/linux/library/l-sed3/
> 共通テーマ: 実例でわかるsed: 第3回
上記ページには、sed の例↓が載っています。
sed -e 's/$/\r/' myunix.txt > mydos.txt
手元でちょっと変更してやってみますと、こんな感じ↓でした。
(図3)
sed で LF→CR+LF 変換。
(画像サイズ 72KB、クリックで拡大 114KB)
ヘッダーに改行が追加されても認識しています。ちょっと間延びしてますがまあ、これで良いですか。(w
メッセージボディーとヘッダーを別々に処理しろなんて面倒くさすぎます。
(ところでアマゾンさんもテキスト形式メール送信でお願いしているのに、<br> <br> なんてのが見えるあたり、なんかバグってますよねぇ。)
使ったコマンド等は以下の通りです。
実行 BAT コマンド:
sed -f LF.mbx.sed < LF.mbx > CR-LF.mbx
LF.mbx.sed の内容:
s/$/\ /
何故か "\r" を認識してくれなかったので "\ " (後ろにスペースあり。)にしています。(w 末尾にスペースが追加され、そのあとに CR+LF が( Windows により)自動で補完されます。
ちなみに、本来正しいハズの、
s/$/\r/
とすると、各行末尾に漏れなく英小文字の r が添付されてきます。
s/$/\/
とすると、Syntax Error (メッセージは sed: file LF.mbx.txt.sed line 1: Unterminated `s' command) になりますので、\ は効いているものと思われます。
s/$/\\r/
とすると、各行末尾に漏れなく英小文字の "\r" 二文字が添付されてきます。
(おまけ)
awk の場合、コマンドを以下に変更すると、上記 sed と同じ結果になることを確認済みです。
LF.mbx.awk の内容:
{ print $0" " }
※ "\r" の代わりに " "。(w
それにしてもナツカシスイ。
tr '\r' '\n' < macfile > unixfile
とか、
tr -d '\r' < dosfile > unixfile
とかも知っておくと役に立つかもしれません。
いじょうです。
-
- -