Bonjour, J'ai un petit souci que j'attribue à l'utf8 : $ echo cÔtön|tr 'áàâäçéèêëíìîïñóòôöúùûü ÁÀÂÄÇÉÈÊËÍÌÎÏÑÓÒÔÖÚÙÛÜ' 'aaaaceeeeiiiinoooouuuu_aaaaceeeeiiiinoooouuuu' cuutuin le Ô est "vu" par tr comme 2 caractères, tout comme le ö. Je m'en sort avec un $ echo cÔtön|sed 'y/áàâäçéèêëíìîïñóòôöúùûü ÁÀÂÄÇÉÈÊËÍÌÎÏÑÓÒÔÖÚÙÛÜ/aaaaceeeeiiiinoooouuuu_aaaaceeeeiiiinoooouuuu/' coton c'est curieux non ? Sinon, questions perfs, il y a une grosse différence entre tr et sed ? En entre "tr expr1|tr expr2|tr expr3" et "sed -e 'exprA; exprB; exprC" ? Je suppose qu'à partir d'un certains nombre de pipes, sed devient plus performant, mais c'est assez pifométrique comme mesure. -- Daniel
On 2007-02-21 13:41:01 +0100, Daniel Caillibaud wrote:
J'ai un petit souci que j'attribue à l'utf8 :
$ echo cÔtön|tr 'áàâäçéèêëíìîïñóòôöúùûü ÁÀÂÄÇÉÈÊËÍÌÎÏÑÓÒÔÖÚÙÛÜ' 'aaaaceeeeiiiinoooouuuu_aaaaceeeeiiiinoooouuuu' cuutuin
le Ô est "vu" par tr comme 2 caractères, tout comme le ö.
Je m'en sort avec un $ echo cÔtön|sed 'y/áàâäçéèêëíìîïñóòôöúùûü ÁÀÂÄÇÉÈÊËÍÌÎÏÑÓÒÔÖÚÙÛÜ/aaaaceeeeiiiinoooouuuu_aaaaceeeeiiiinoooouuuu/' coton
c'est curieux non ?
C'est un bug de tr. Il devrait prendre en compte les locales: http://www.opengroup.org/onlinepubs/009695399/utilities/tr.html Il se produit au moins avec les versions suivantes: tr (GNU coreutils) 5.97 (sous Debian) tr (GNU coreutils) 6.7 (sous Mac OS X) Je ne pense pas qu'il y ait besoin de faire un rapport de bug, car c'est dans le TODO: Adapt tools like wc, tr, fmt, etc. (most of the textutils) to be multibyte aware. The problem is that I want to avoid duplicating significant blocks of logic, yet I also want to incur only minimal (preferably `no') cost when operating in single-byte mode. (copié de /usr/share/doc/coreutils/TODO.gz sous Debian). En revanche, si quelqu'un a un patch acceptable, je suppose qu'il est le bienvenu... -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
participants (2)
-
Daniel Caillibaud
-
Vincent Lefevre