> 重ねての質問で恐縮なのですが、連続する全角の空白文字を除去する場合について
> 教えていただきたいです。
> ★1つ分だけが除去されている状態です。
cygwinのsedは日本語化/国際化されていませんので、
正しい動作です。
sed-jaやsed-mbなどを調べてください。
> と狙いどおりになるため、cygwin上の問題ではないかと思います。
違います。
> nilさんに教えていただいたサイトのひとつによると
> 「処理系によっては文字の繰り返ししか認めてみないものもあります。」
> とありますが、半角の空白なら問題ないので、『認めてくれている』ものと考えています。
日本語化/国際化されていないソフトウェアでは、全角空白は
0x81, 0x40 の二文字として扱われます。
正規表現で '*' は単一の正規表現式の繰り返しですので、
0x81 の後ろに 0x40 が繰り返された場合の指定になります。
あえてやるのであれば、sed -e 's/\(★\)*,/,/g' といった
あたりでしょうか。
|