sed为什么会出现国际字符失败以及如何解决?

sed为什么会出现国际字符失败以及如何解决?,第1张

sed为什么会出现国际字符失败以及如何解决?

我认为如果文件的输入编码与环境的首选编码不同,则会发生错误。

示例

in
是UTF-8

$ LANG=de_DE.UTF-8 sed 's/.*| //' < inXY$ LANG=de_DE.iso88591 sed 's/.*| //' < inX Y

UTF-8可以安全地解释为ISO-8859-1,您会得到奇怪的字符,但除此之外一切都很好。

示例:

in
是ISO-8859-1

$ LANG=de_DE.UTF-8 sed 's/.*| //' < inXGras Och Stenar Trad - From MöY$ LANG=de_DE.iso88591 sed 's/.*| //' < inX Y

ISO-8859-1无法解释为UTF-8,解码输入文件失败。奇怪的匹配可能是由于sed试图恢复而不是完全失败的事实。

答案是基于Debian Lenny / Sid的,并且是sed 4.1.5。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4898945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存