Printf caractère % dans awk

Résolu/Fermé
zvib Messages postés 62 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 octobre 2009 - 18 févr. 2009 à 15:39
zvib Messages postés 62 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 octobre 2009 - 18 févr. 2009 à 17:14
Bonjour,
je voudrais utiliser awk et printf mais je me retrouve face à cette situation:
printf ("fprintf(fid,'\%f  \%e\\n',x,");

Je veux écrire le signe % sans qu'il soit analysé. Dans cette situation, j'obtiens:
AVERTISSEMENT: séquence d'échappement « \% » traitée simplement comme « % »
(FILENAME=- FNR=1) Fatal: pas assez d'arguments pour satisfaire le format d'une chaîne
	`fprintf(fid,'%f  %e\n',x,'
	              ^ débordement pour celle-ci

Avec:
printf ("fprintf(fid,'\\%f  \\%e\\n',x,");

J'obtiens uniquement
(FILENAME=- FNR=1) Fatal: pas assez d'arguments pour satisfaire le format d'une chaîne
	`fprintf(fid,'\%f  \%e\n',x,'
	               ^ débordement pour celle-ci

3 ou 4 \ ne changent rien...

2 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
18 févr. 2009 à 16:24
hello
c'est %% pour afficher un % avec printf
printf ("fprintf(fid,\"%%f  %%e\\n\",x,)")
2
zvib Messages postés 62 Date d'inscription vendredi 7 mars 2008 Statut Membre Dernière intervention 27 octobre 2009 21
18 févr. 2009 à 17:14
Yep, ça marche.

Merci
0