2017-03-09 321 views
0

我使用sed將unicode字符串轉換爲unicode的其他風格,並且混合成功。sed unicode替換文件和字符串

有人可以解釋這一點。我有一個尖銳的文件,它顯示爲一個blob字符,並且被軟件拒絕顯示它。

如果我試圖取代 回聲氏| sed的 'S/\ XEF \ XBF \ XBD/\ XC3 \ XA1 /' 我得到期望的結果 泰國

如果我把串入一個文件

echo Th�i > t1 
cat t1||sed 's/\xef\xbf\xbd/\xc3\xa1/' 

結果是

Th�i 

的字符串相同是否在文件或呼應

cat t1|hexdump -C 
00000000 54 68 ef bf bd 69 0a        |Th...i.| 
echo Th�i |hexdump -C 
00000000 54 68 ef bf bd 69 0a        |Th...i.| 
00000007 

我試着向文件中添加一個字符,以防萬一它與endian邊界有關,但仍然是相同的結果。

任何人都可以建議我缺少的請。

+0

當您直接讀取文件,會發生什麼,而不是使用'cat'不必要的? –

回答

0

感謝Michael Vehrs提出一個簡單的問題。 對於文件炸彈的一些原因貓howerve

echo Th�i > t1 
sed 's/\xef\xbf\xbd/\xc3\xa1/' t1 

Thái 

而且它還可爲

sed -i 's/\xef\xbf\xbd/\xc3\xa1/' t1