2011-07-22 9 views
2

これはquestion I posed earlierのフォローアップの問題です。基本的に私がこれを行うとき:Sedコマンドによるアジア言語文字のファイルへの出力

sed '/Q/{ 
s/Q//g 
r /Users/ericbrotto/Desktop/question.txt 
}' Commision.txt 

すべてが問題ありませんが、新しい出力はただコンソールに出力されます。

私はこれを行う:

sed '/Q/{ 
s/Q//g 
r /Users/ericbrotto/Desktop/question.txt 
}' Commision.txt > newFile 

ファイルに出力プリントが、私の新しい文字列(適切前の出力に置き換えたもの)は、現在、アジアの束として読み込む(私はマンダリンを信じて)文字。

アイデア?

+2

ローカルのシェルで実行されているような 'locale'の出力を投稿してください。もしあなたのsedスクリプトがシェルスクリプトでラップされている場合は、sedの呼び出しの前後に入れてください。差異を特定できるかどうかを確認するために出力します。がんばろう。 – shellter

+0

また、あなたはファイルquestion.txtの中に何があるかについてもっと知る必要があると思います。それはちょうどASCIIなのでしょうか? – tripleee

答えて

1

エンコーディングの不一致があるようです。

私は、あなたのシェルがCommision.txtquestion.txtのすべてが同じエンコードを持っているとは限りません。そのため、sedはワイド文字の一部を置き換えて、ワイド文字として認識しません。以降のすべての文字エンコーディングは半分の文字でオフになり、結果は中国語です。

同様の問題については、this questionを参照してください。

関連する問題