Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)

No.1705  Re[2]:sedコマンド パラメータ*
発言者:
発言日: 2003 12/03 16:26
 
> 重ねての質問で恐縮なのですが、連続する全角の空白文字を除去する場合について
> 教えていただきたいです。

> ★1つ分だけが除去されている状態です。

cygwinのsedは日本語化/国際化されていませんので、
正しい動作です。

sed-jaやsed-mbなどを調べてください。

> と狙いどおりになるため、cygwin上の問題ではないかと思います。

違います。

> nilさんに教えていただいたサイトのひとつによると
> 「処理系によっては文字の繰り返ししか認めてみないものもあります。」
> とありますが、半角の空白なら問題ないので、『認めてくれている』ものと考えています。

日本語化/国際化されていないソフトウェアでは、全角空白は
0x81, 0x40 の二文字として扱われます。
正規表現で '*' は単一の正規表現式の繰り返しですので、
0x81 の後ろに 0x40 が繰り返された場合の指定になります。

あえてやるのであれば、sed -e 's/\(★\)*,/,/g' といった
あたりでしょうか。


▼関連発言

1686:sedコマンド パラメータ* [のど飴] 11/30
 ├1687:Re:sedコマンド パラメータ* [はじめ] 12/01
 │└1689:grep(BRE), egrep(ERE) [nil] 12/01
 │ └1690:Re:grep(BRE), egrep(ERE) [はじめ] 12/01
 ├1688:Re:sedコマンド パラメータ* [MSだす。] 12/01
 └1691:Re:sedコマンド パラメータ* [のど飴] 12/02
  └1705:Re[2]:sedコマンド パラメータ* [な] 12/03
   └1706:Re[3]:sedコマンド パラメータ* [な] 12/03
    └1739:Re[4]:sedコマンド パラメータ* [のど飴] 12/07
     └1801:Re[5]:sedコマンド パラメータ* [MSだす。] 12/17 <

Pass 保存

早田のホームページへ
CGIROOM