Seu Åström
tem decompostos caracteres unicode, não pré-compostos uns:
(Estou assumindo que a localidade atual usa UTF-8 e os caracteres digitados na linha de comando usam a codificação UTF-8 aqui (copiei-os em um navegador usando UTF-8)).
$ printf %s Åström | uconv -x any-name
\N{LATIN CAPITAL LETTER A}\N{COMBINING RING ABOVE}\N{LATIN SMALL LETTER S}\N{LATIN SMALL LETTER T}\N{LATIN SMALL LETTER R}\N{LATIN SMALL LETTER O}\N{COMBINING DIAERESIS}\N{LATIN SMALL LETTER M}
Observe o Combinação de diacríticos acima . Os pré-compostos seriam:
$ printf %s Åström | uconv -x nfkc | uconv -x any-name
\N{LATIN CAPITAL LETTER A WITH RING ABOVE}\N{LATIN SMALL LETTER S}\N{LATIN SMALL LETTER T}\N{LATIN SMALL LETTER R}\N{LATIN SMALL LETTER O WITH DIAERESIS}\N{LATIN SMALL LETTER M}
Esses caracteres pré-compostos, ao contrário dos acentos combinados, estão presentes em iso8859-1 ou iso8859-15. Então, se esse é o conjunto de caracteres de destino desejado, você poderia fazer:
$ printf %s Åström | uconv -x nfkc -t iso-8859-1
Para converter os caracteres que podem ser convertidos, aproxime os outros:
$ printf %s 'Åström й' | uconv -x nfkc | iconv -t iso-8859-5//TRANSLIT
Astrom <0xd9>
(© está no charset iso-8859-5, portanto é convertido para sua representação lá (0xd9 byte), mas não Å, ou ö que são então convertidos para uma A
e o
de aproximação). / p>
Se você quer dizer que sua entrada tem uma combinação de caracteres decompostos (como Å
e ö
) e pré-compostos (como й
) e você deseja manter os pré-compostos, mas descartar a combinação caracteres nos decompostos, então você pode fazer:
$ printf %s 'Åström й' | uconv -x '[:Nonspacing Mark:]>'
Astrom й
Observe que há dois caracteres em Unicode com uma representação visual Å
: U + 212B (Ångström) e U + 00C5 (A com anel acima). nfkc
converterá U + 212B para U + 00C5.
Se você quiser remover todos os sinais diacríticos, tente:
$ printf %s Åström | iconv -t us//TRANSLIT
Astrom
(lembre-se de que algumas implementações de iconv
podem aproximar os acentos com caracteres "
ou '
... adjacentes)
Ou:
$ printf %s Åström | uconv -x nfd -c -t us
Astrom
(decompõe, converte em ASCII, soltando caracteres que não podem ser convertidos como combinações de acentos).
Ou:
$ printf %s Åström | uconv -x "::nfd;[:Nonspacing Mark:]>;"
Astrom
(decompõe, solte todas as marcas de espaçamento)
Ou:
$ printf %s Åström | uconv -x Latin-ASCII
Astrom
(transliteração ASCII para caracteres na escrita latina).
uconv
é um utilitário do Projeto da UTI . No Debian e derivados, você o encontra no pacote icu-devtools
.