我很确定之前已经问过并回答过这个问题,但是,我找不到我的特定用例的答案。
我有这个带有重音字符的文件:
> ~ 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)
GNU recode 包对于在字符编码之间进行转换非常有用,它有一个特殊情况,可以使用“平面”编码来实现这一点:
recode -f utf8..flat <textin.txt >flattext.out
Run Code Online (Sandbox Code Playgroud)