从字符中删除重音符号

Kev*_*n C 6 text-processing

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

我有这个带有重音字符的文件:

>  ~ cat file
ë
ê
Ý,text
Ò
É
Run Code Online (Sandbox Code Playgroud)

我如何将它们转换为各自的非重音字母?所以结果将是类似的东西:

> ~ convert file out.txt
> ~ cat out.txt
e
e
Y,text
O
E
Run Code Online (Sandbox Code Playgroud)

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

ste*_*ver 15

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

前任。给予

$ cat file
ë
ê
Ý,text
Ò
É
Run Code Online (Sandbox Code Playgroud)

然后

$ iconv -t ASCII//TRANSLIT file
e
e
Y,text
O
E
Run Code Online (Sandbox Code Playgroud)


che*_*xum 6

GNU recode 包对于在字符编码之间进行转换非常有用,它有一个特殊情况,可以使用“平面”编码来实现这一点:

recode -f utf8..flat <textin.txt >flattext.out
Run Code Online (Sandbox Code Playgroud)