我经常需要在我的计算机上编写简单的 BASH 脚本来操作文件。BASH 似乎难以处理 UTF-8 内容。
- 是否有完全兼容 UTF-8 的 BASH 版本?
- 是否有 BASH 的替代品,它使用相似或相同的语法,但与 UTF-8 兼容?
Bash 本身使用 UTF8 应该没有任何问题。您的问题很可能是由另一个程序引起的,例如终端仿真器或编辑器。确保您的环境设置为使用 UTF8。有关这方面的更多信息,请参见此处的示例。
我认为您的问题是通常的 sed/awk/grep... 等不支持 unicode,因此 stackoverflow 解决方案通常对您不起作用?
bash 本身在没有外部程序的情况下非常有限。
为了做你想做的事,你可能必须用 bash 以外的功能性更强的编程语言编写代码。UTF-8 本身不太适合处理,需要先解析成 2 字节或 4 字节字符再处理。(即转换为UTF-16或UTF-32)然后再转换回UTF-8进行存储。