web-dev-qa-db-fra.com

Bash: convertir les caractères non ASCII en ASCII

Comment puis-je convertir une chaîne comme Žvaigždės aukštybėj užges ou äüöÖÜÄ à Zvaigzdes aukstybej uzges ou auoOUA, respectivement, en utilisant Bash?

En gros, je veux juste convertir tous les caractères qui ne sont pas dans l'alphabet latin.

Merci

30
watain

Selon votre machine, vous pouvez essayer de passer vos cordes

iconv -f utf-8 -t ascii//translit

(ou quel que soit votre encodage, si ce n'est pas utf-8)

55

Vous pourrez peut-être utiliser iconv.

Par exemple, la chaîne:

Žvaigždės aukštybėj užges ou äüöÖÜÄ

est au format testutf8.txt, au format utf8.

Commande en cours d'exécution:

iconv -f UTF8 -t US-ASCII//TRANSLIT testutf8.txt

résulte en:

Zvaigzdes aukstybej uzges ou auoOUA

15
Steve De Caux
echo Hej på Dig, du den dära | iconv -f utf-8 -t us-ascii//TRANSLIT

donne:

Hej pa Dig, du den dara
4
Emil Vikström