任何想法如何從一堆文本文件中擺脫這個惱人的字符U + 0092?我已經嘗試了以下所有內容,但不起作用。這就是所謂的U + 0092 + 控制從字符映射表如何擺脫這個unicode字符?
sed -i 's/\xc2\x92//' *
sed -i 's/\u0092//' *
sed -i 's///' *
啊,我已經找到一種方法:
CHARS=$(python2 -c 'print u"\u0092".encode("utf8")')
sed 's/['"$CHARS"']//g'
但有一個直接的SED方法呢?
單引號將停止您的shell解析任何反向符號的註釋。我不確定sed會自己做這個,所以也許嘗試雙引號? – 2011-12-20 06:43:21
這個傢伙很棘手。這是某種非空間中斷,它是出現在txt但不可見的U + 0092。 – alvas 2011-12-20 07:13:18
U + 0092是一個從未使用過的控制字符。它幾乎總是在Windows代碼頁1252文件中將單個右引號'''錯誤解碼爲ISO-8859-1的結果。編碼非常相似,但字節範圍0x80-0x9F中編碼的字符不同。在這種情況下,您不應該刪除它或其他智能引號字符,您應該正確讀取它們作爲ISO-8859-1,或將文件從1252轉碼爲8859-1或UTF-8。 – bobince 2011-12-21 21:06:23