web-dev-qa-db-ja.com

GNU sed(Windowsの場合)はUnicodeを処理できますか?もしそうなら、それはコードページ/ロケールの問題ですか、それともスイッチですか?

私はここ数年GNU SEDのオンとオフを切り替えています。時々少しスピンアウトしますが、うまくいきます...シングルバイトの文字セットに!
私は時々GNU SEDがUnicodeに対応していることに気づきますが、これに最も近いのはその「バイナリ」モードです。バイナリはUnicodeではありません。 。
GSEDは、特に\ r\n(Windows)を含むCodePoint解像度でUnicodeテキストファイルを処理できますか?可能であれば、UTF-8、UTF-16、または何を期待しますか? SEDはどのようにエンコーディングを検出しますか?

10
Peter.O

Sedについてはよくわかりませんが、ハードなグーグルを行った後、LANG環境変数を介してさまざまなコードページをサポートしているようです。 LANGがない場合、実際にはUTF-8がデフォルトであると思います。ただし、Windowsポートがどのように設定されているかはわかりません。私は、sedが入力ストリームに対して検出処理をまったく実行しないという強い疑いを持っています。

出典: https://stackoverflow.com/questions/67410/why-does-sed-fail-with-international-characters-and-how-to-fixhttp:// omgili.com/mailinglist/cygwin/cygwin/com/20100520123926GA1432onderneming10xs4allnl.html

ここで説明されているように、エスケープ文字を試すこともできます。 http://forums.whirlpool.net.au/forum-replies-archive.cfm/841095.html それは非常に面倒なようです。

1
Vanessa Phipps