作者: MIZUHA Nobuo
日時: 2005/12/04(14:53)
davi さん&みなさま

 以下が僕が試したところです。

 やっているうちに新たな疑問も出てきたのですが、こ
の点はBruce.さんにお願いします。

【問題の無い場合】

1)スクリプトも対象ファイルもUTF8
  → --ctype=UTF8を指定しても、しなくても問題無し

2)スクリプトも対象ファイルもSJIS
 → デフォルトで問題なく処理。

スクリプトは以下のとおり。

s/あ/ア/g
s/aaabbbccc/AAABBBCCC/
s/\([0-9][0-9]*\)/\1\
a/g

【新たな疑問】
daviさんのスクリプト

s/\([ぁ-ん]\)\([亜-腕弌-熙]\)/\1\
\2/g
s/\([亜-腕弌-熙]\)\([ぁ-ん]\)/\1\
\2/g
s/\([亜-腕弌-熙]\)\([ァ-ヶ]\)/\1\
\2/g
s/\([ァ-ヶ]\)\([亜-腕弌-熙]\)/\1\
\2/g
s/\([ぁ-ん]\)\([ァ-ヶ]\)/\1\
\2/g
s/\([ァ-ヶ]\)\([ぁ-ん]\)/\1\
\2/g

の場合、うまく所期の動作をしません。


1)utf8のスクリプト・対象ファイル
 --ctype=UTF8をつけない場合。

mbsed -f utf8.sed utf8.txtのエラーメッセージ:
mbsed: file utf8.sed line 1: unterminated `s' command

2)utf8のスクリプト・対象ファイル
 --ctype=UTF8をつけた場合。

mbsed --ctype=UTF8 -f utf8.sed utf8.txtのエラー
メッセージ:
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
Illegal utf-8 lead byte.
mbsed: file utf.sed line 3: Invalid range end

取り急ぎ、ご報告まで。

みずは