我很确定之前已经有人问过并回答过这个问题,但是,我找不到我的特定用例的答案。
我有这个文件,其中包含重音字符:
> ~ 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