Derniers journaux de brouits :
- [05/12@05:23] un micro serveur http 1.0 pour la maison
- [04/12@22:48] spam 2
- [04/12@04:09] spam
- [15/11@21:04] encoder en ogg/vorbis+theora en un clic de souris
- [16/07@19:24] Fabien, messge perso !
- [23/04@14:20] linux sur HP Compaq nx9105
- [02/04@14:41] libspopc 0.6 is out
- [08/02@16:47] new job !
- [17/08@18:11] libspopc 0.5.9 released
Journal : expressions arithmétiques sur des caractères en shell
Posté par Ben (Jabber id, page perso, ) le 07 décembre 2005$ perl -e 'print chr(ord("x")+1);'
j'ai écrit 2 tout petits éxecutables : ord et chr, que je peux utiliser avec expr. l'expression en sh est:
$ echo $(chr $(expr $(ord x) + 1))
pour ceux qui en auraient besoin, les binaires sont ici :
paquet debian i386:
i386_deb
(dépend seulement de libc6)
le source est ici (lgpl):
tar_gz
(dépend donc de libc6-dev)
> Lire le journal (9 commentaires, moyenne: 1,7).
linuxfr a bouffé les urls :(
paquet debian i386:
http://brouits.free.fr/share/utils/chrord_0.1-1_i386.deb
(dépend seulement de libc6)
le source est ici (lgpl):
http://brouits.free.fr/share/utils/chrord_0.1.orig.tar.gz
(dépend donc de libc6-dev)
-
[^]Re: linuxfr a bouffé les urls :(
Posté par renaud () le 07/12/2005 à 20:57. (lien). Évalué à 0.Moep, enfin c'est moche en C quand même :)
En ruby (yeah !), ça donne ça : http://trac.cravate.org/Samples/browser/ex_ruby-linuxfr_2020(...)
utilité de chr ?
Sachant que echo et printf sont internes à bash, je me demande si un exécutable 'chr' est plus performant que la fonction suivante :
chr () { echo -e \\0`printf %o $1`; }
-
[^]Re: utilité de chr ?
Posté par Matthieu C () le 07/12/2005 à 21:21. (lien). Évalué à 3.Il te dis qu'il utilise sh pas bash
-
[^]... et utilité de ord ?
Posté par Ben (Jabber id, page perso, ) le 07/12/2005 à 21:47. (lien). Évalué à 2.printf n'est pas interne à bash, c'est un éxécutable, donc je pense que c'est du kifkif bourricot au niveau rapidité. à part cela, je pense que c'est plus cool d'utiliser ta version avec printf plutôt que mes executables vu que printf est dispo sur plein d'unices. cela évite d'installer chr et ord.
du coup, voici une version de 'ord' avec des execuitables unix standards:
ord () { echo -e $(echo -n $1 | od -A n -t dC -) ; }-
[^]rapidité
Posté par Ben (Jabber id, page perso, ) le 07/12/2005 à 22:13. (lien). Évalué à 1.
$ time ord x
real 0m0.002s
user 0m0.000s
sys 0m0.001s
$ time ord.sh x
real 0m0.029s
user 0m0.017s
sys 0m0.006s
bon, ça se passe de commentaire
$ time chr 120
real 0m0.002s
user 0m0.000s
sys 0m0.001s
$ time chr.sh 120
real 0m0.001s
user 0m0.001s
sys 0m0.000s
par contre, ici c'est comparable
-
[^]Re: ... et utilité de ord ?
Posté par lcld () le 07/12/2005 à 22:18. (lien). Évalué à 1.man bash -> rubrique 'COMMANDES INTERNES DU SHELL' : tu y trouveras printf
(merci pour 'od', je ne connaissais pas)-
[^]Re: ... et utilité de ord ?
-
[^]Re: ... et utilité de ord ?
Posté par lcld () le 08/12/2005 à 00:47. (lien). Évalué à 3.Merci, je sais lire et printf n'est pas exclusif à bash !
printf est à la fois interne à bash et disponible en tant que programme externe ( /usr/bin/printf )
Tout comme echo ( /bin/echo )
Donc pour sh, l'utilisation de printf est ok, et pour bash, on peut imaginer que c'est préférable à chr en terme de performance. Je ne suis donc pas du tout hors sujet.
-
-
-

Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.