删除字符中的重音符号

删除字符中的重音符号

我很确定之前已经有人问过并回答过这个问题,但是,我找不到我的特定用例的答案。

我有这个文件,其中包含重音字符:

>  ~ cat file
ë
ê
Ý,text
Ò
É

我如何将它们转换为各自的非重音字母?所以结果会是这样的:

> ~ convert file out.txt
> ~ cat out.txt
e
e
Y,text
O
E

请注意,实际文件本身包含更多字符。

答案1

您可以尝试iconv使用//TRANSLIT(音译)选项

前任。给定

$ cat file
ë
ê
Ý,text
Ò
É

然后

$ iconv -t ASCII//TRANSLIT file
e
e
Y,text
O
E

答案2

GNU recode 包对于在字符编码之间进行转换非常有用,并且它有一个特殊情况,可以使用“平面”编码来完成此操作:

recode -f utf8..flat <textin.txt >flattext.out

相关内容