Pages : 1
#1 Le 24/01/2011, à 07:46
- ehmicky
[Résolu]awk : printf
Salut à tous,
Je ne comprends pas pourquoi awk me renvoie ça :
$ awk '{ printf "%.2s\n", $0 }' <<<"abcdef"
abcdef
là où j'attends le même résultat que :
$ printf "%.2s\n" "abcdef"
ab
Quelqu'un saurait-il où est le problème ? Merci !
$ awk --version | head -n+1
GNU Awk 3.1.7
Dernière modification par ehmicky (Le 12/02/2011, à 13:59)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#2 Le 24/01/2011, à 12:24
- wido
Re : [Résolu]awk : printf
Bonjour,
ça doit venir de ta version de awk
$ awk '{ printf "%.2s\n", $0 }' <<<"abcdef"
ab
$ awk --version | head -n+1
GNU Awk 3.1.8
je suis sous archlinux.
Dernière modification par wido (Le 24/01/2011, à 12:24)
Hors ligne
#3 Le 24/01/2011, à 12:30
- credenhill
Re : [Résolu]awk : printf
hello
autre version
$ awk '{ printf "%.2s\n",$1}' <<<"abcdef"
ab
$ awk --version | head -1
GNU Awk 3.1.6
Hors ligne
#4 Le 24/01/2011, à 12:35
- chopinhauer
Re : [Résolu]awk : printf
Un bogue introduit entre la version 3.1.6 et 3.1.7 ? Une nouvelle version de AWK est disponible (3.1.8), tu peux regarder son comportement.
PS : Vu le message de wido c'est un bogue uniquement dans la version 3.1.7.
Dernière modification par chopinhauer (Le 24/01/2011, à 14:21)
Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.
Hors ligne
#5 Le 24/01/2011, à 14:19
- FRUiT
Re : [Résolu]awk : printf
Moi j'ai pareil que ehmicky, et ce avec toutes sortes d'orthographes.
Version 3.1.7 également.
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#6 Le 24/01/2011, à 15:00
- cep
Re : [Résolu]awk : printf
si awk/gawk non disponible en 3.1.8 mawk n'a pas ce bug bien que de version plus ancienne
Hors ligne
#7 Le 24/01/2011, à 15:53
- ehmicky
Re : [Résolu]awk : printf
Salut,
Merci à tous, j'ai compilé depuis les sources de la 3.1.8 et ça marche. Etrange quand même parce que ça me paraît gros comme bug ! Je me demande si ça vient pas du packaging en .deb ?
Edit : ça semble être le cas, j'ai compilé depuis les sources de la 3.1.7 et ça bugue pas non plus. Il y a bien un message lors du make :
builtin.c: In function 'format_tree':
builtin.c:790: warning: format not a string literal and no format arguments
La fonction est format_tree qui semble lié à tout ça :
/*
* format_tree() formats nodes of a tree, starting with a left node,
* and accordingly to a fmt_string providing a format like in
* printf family from C library. Returns a string node which value
* is a formatted string. Called by sprintf function.
*
* It is one of the uglier parts of gawk. Thanks to Michal Jaegermann
* for taming this beast and making it compatible with ANSI C.
*/
Mais au final, ça marche avec les sources, mais pas en installant directement via dpkg le .deb i386.
Edit2 : le binaire dans le .deb bugue, j'ai envoyé un mail au maintainer
Dernière modification par ehmicky (Le 24/01/2011, à 16:18)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#8 Le 12/02/2011, à 13:59
- ehmicky
Re : [Résolu]awk : printf
Ok, donc bug déjà reporté et corrigé (visiblement bien dans builtin.c), faut donc attendre pour Ubuntu la version 3.1.8.
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
Pages : 1