GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Tr :Convertir l'apostrophe en ASCII ?

J'essaie de convertir un guillemet simple droit en apostrophe en utilisant tr .

tr "`echo -e '\xE2\x80\x99'`" "`echo -e '\x27'`" < a > b

étant donné un fichier encodé en UTF-8 appelé a qui contient cet exemple :

We're not a different species
“All alone?” Jeth mentioned.

OS X utilise le BSD tr et produit un joli résultat :

We're not a different species
“All alone?” Jeth mentioned.

Ubuntu utilise le GNU tr et produit ce mauvais résultat :

We'''re not a different species
''<9C>All alone?''<9D> Jeth mentioned.

Comment puis-je accomplir cette conversion dans Ubuntu ?

Réponse acceptée :

Vous pouvez essayer un autre outil, comme sed :

$ sed "s/’/'/g" <a
We're not a different species
“All alone?” Jeth mentioned.

Ou, puisque nous faisons une traduction simple, utilisez le y commande pour sed :

$ sed "y/’/'/" <a
We're not a different species
“All alone?” Jeth mentioned.

GNU tr ne fonctionne probablement pas parce que :

Actuellement tr ne prend entièrement en charge que les caractères à un octet.
Finalement, il prendra en charge les caractères multi-octets ; quand c'est le cas, le -C l'amènera à compléter le jeu de caractères, alors que -c l'amènera à compléter l'ensemble de valeurs. Cette distinction n'aura
d'importance que lorsque certaines valeurs ne sont pas des caractères, et cela n'est possible
que dans les paramètres régionaux utilisant des encodages multi-octets lorsque l'entrée contient
des erreurs d'encodage.

Et est un caractère multioctet :

$ echo -n \' | wc -c
1
$ echo -n ’ | wc -c  
3

Ubuntu
  1. 3 méthodes différentes pour mettre à niveau Ubuntu vers la dernière version

  2. Installer une version différente d'un package ?

  3. Pourquoi Ls -l affiche-t-il une taille différente de Ls -s ?

  4. Convertir un PDF en images en PDF ?

  5. Comment convertir les caractères hexadécimaux en caractères ASCII dans le shell Linux ?

Telnet vs SSH :en quoi SSH est-il différent de Telnet ?

Comment convertir des images au format ASCII sous Linux

Comment convertir un répertoire en partition sous Linux

8 façons différentes de connaître la version du système d'exploitation Linux

Comment convertir un PDF en image avec Gimp

Comment convertir des fichiers en différents formats sans utiliser de logiciel