我有一个记录UTF8编码文件名的脚本。然而,脚本的编码/环境没有设置正确,它只是重新编码了原始字节。现在我的文件中有很多这样的行:
.../My\ Folders/My\ r\303\266m/...
所以,在文件名中存在带有
\
和UTF8编码的内容,例如\303\266
(表示ö
)。我想要反转这种编码?是否有一些简单的bash命令行命令可以链在一起使用以删除它们?我可以得到数百万个
sed
命令,但是列出所有非ASCII字符将需要很长时间。或者开始在Python中解析它。但我希望有一些诀窍可以使用。
text="echo \$\'"$(echo \"$text\"|sed -e 's|\\|\\\\|g')"\'"
,因为存在内部转义空格的问题(是的,不是编码的空格)。 - knalli