[英]How do I get rid of this unicode character?
知道如何从一堆文本文件中摆脱这个恼人的角色U + 0092吗? 我已经尝试了以下所有,但它不起作用。 它从角色地图中称为U + 0092 + 控制
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方法吗?
试试sed "s/\\`//g" *
。 (我添加了g
所以它会删除它找到的所有反引号)。
编辑 :这不是OP想要删除的反击。
在这个问题的解决方案之后,这应该工作:
sed 's/\xc2\x92//g'
为了证明它:
$ CHARS=$(python -c 'print u"asdf\u0092asdf".encode("utf8")')
$ echo $CHARS
asdf<funny glyph symbol>asdf
$ echo $CHARS | sed 's/\xc2\x92//g'
asdfasdf
看到你已经尝试过的东西,也许你的文本文件中的内容不是U + 0092?
这可能适合你(GNU sed):
echo "string containing funny character(s)" | sed -n 'l0'
这将显示字符串,因为sed在八进制中看到它,然后使用:
echo "string containing funny character(s)" | sed 's/\onnn//g'
其中nnn
是八进制值,删除它/它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.