2017-03-29 20 views
0

問題:私はメモ帳を使用しているWindowsマシン上でポルトガル語で書かれたたくさんのtxtファイルを持っています。それらのいくつかはANSIとしてコード化されているようです。 Ubuntuでgeditを使用してこれらのファイルを開くと、そのうちのいくつかに008D(スクリーンショット参照)を含むボックスが含まれています。これはUTF-8に変換した後です。エンコード:008D文字?

Screenshot gedit

Iはcathead又はmoreを用いて端末にファイルの内容を印刷するとき、これは、同じファイルの出力です。 últimavezから奇妙な文字を含むすべてが端末に印刷されないことに注意してください。

Olá madrinha! Eu gostava de ir contigo passar férias na montanha, porque acho que vai ser divertido e há muito tempo que já não vou a tua casa e na últimaar a ter saudades. Madrinha, não sei porque és tão simpática comigo mas para mim, és a melhor madrinha do mundo inteiro. Madrinha, ajudas-me sempre que preciso e estás sempre a apoiar-me por isso, quero ir a tua casa para te apoiar a ti. Obrigada madrinha, por me apoiares. Muito obrigado madrinha 

私はatom.ioを使用して同じファイルを開くと、すべてはそれが必要となります。

Screenshot atom

質問:ほとんどの押圧:どのように私はすべてのファイルを開くことなく、この文字を取り除くことができますがそれらを手動で削除しますか?次に、です。つまり、同様の問題を解決するにはどうすればよいですか。

答えて

0

魔法のキーワードが見つかりました(「sedを使ってunicode文字列を削除してください)。これはトリックです:https://stackoverflow.com/a/8562661/1331521

# Define unicode character you want to remove; 
# In this case 008D: 
CHARS=$(python -c 'print u"\u008D".encode("utf8")') 

# Then run sed on all files in directory 
sed -i 's/['"$CHARS"']//g' * 
関連する問題