bash脚本(RHEL)中的unaccent字符串

Pet*_*lka 10 bash iconv

在基于Debian的发行版中,有一个名为unaccent的实用程序,可用于删除文本中重音字母的重音.

我正在寻找一个包含Redhat发行版的软件包,但是我找到的唯一一个仅适用于Mandriva的软件包.

我试图使用iconv,但它似乎不支持我的情况.

什么是最好的轻量级方法,可以在bash脚本中轻松使用?iconv是否有任何秘密选项允许这样做?

kev*_*kev 14

您可以使用-c(清除)选项iconv删除非ascii字符:

$ echo 'été' | iconv -c -f utf8 -t ascii
t
Run Code Online (Sandbox Code Playgroud)

如果您只想删除重音:

$ echo 'été' | iconv -f utf8 -t ascii//TRANSLIT
ete
Run Code Online (Sandbox Code Playgroud)

  • 好的解决方案 不幸的是,它在OSX上无法正常工作,可能是由于一个错误(因为`OS X 10.9.2`,它带有`GNU libiconv 1.11`):`echo'ü'| iconv -f UTF8 -t ASCII // TRANSLIT`产生"u"而不是"u". (3认同)