San*_*hal 6 unix unicode bash shell sed
我有以下命令用Unicode替换Unicode字符.
sed -i 's/Ã/A/g'
Run Code Online (Sandbox Code Playgroud)
Ã我的Unix环境中的sed命令无法识别问题所以我假设你用它的十六进制值替换它.如果我使用它会是什么样的语法C3?
我正在使用此命令作为其他字符的模板,我想用空格替换,例如:
sed -i's /©//g'
可以在"sed"中使用十六进制值.
echo "Ã" | hexdump -C
00000000 c3 83 0a |...|
00000003
Run Code Online (Sandbox Code Playgroud)
好的,那个字符是两个字节组合"c3 83".让我们用单字节"A"代替它:
echo "Ã" |sed 's/\xc3\x83/A/g'
A
Run Code Online (Sandbox Code Playgroud)
说明:\ x表示"sed"后面是十六进制代码.
您可以使用iconv:
iconv -f utf-8 -t ascii//translit
Run Code Online (Sandbox Code Playgroud)