这是question I posed earlier的后续问题。基本上当我这样做时:
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
输出打印到文件,但我的新字符串(在上一个输出中正确替换的字符串)现在读作一堆亚洲(我相信普通话)字符。
有什么想法吗?
答案 0 :(得分:1)
听起来你的编码不匹配。
我打赌你的shell Commision.txt
和question.txt
并不都具有相同的编码。因此,sed正在取代它不能识别为广泛的宽字符的一部分。所有后续的字符编码都是半个字符,结果是中文。
有关类似问题的讨论,请参阅this question。