Re: formattage awk

Liste des GroupesRevenir à fco unix 
Sujet : Re: formattage awk
De : nicolas$george (at) *nospam* salle-s.org (Nicolas George)
Groupes : fr.comp.os.unix
Organisation : Guest of ProXad - France
Date : 30. Mar 2020, 17:20:26
Message-ID : <5e820e39$0$16809$426a74cc@news.free.fr>
References : 1 2 3 4
User-Agent : Flrn (0.9.20070704)
Lulu , dans le message <slrnr841ma.df2.lulu042@Minty.Rock-n-Roll.org>, a
 écrit :
LC_NUMERIC=fr_FR.UTF-8 gawk -v k=$INTERFACE 'if ($1==k){printf "%'"'"'d\n", $10/1000}' /proc/net/dev

Que signifie la chaine "%'"'"'d" ?

Rien du tout.

Ce qui est très étonnant pour moi, c'est le nombre impair de « ' »

Et c'est très juste. C'est parce qu'ils ne vont pas ensemble.

Le début, « "% », fait partie du script gawk.

Le ' termine la chaîne qui a commencé à « 'if »

Le « "'" » est une chaîne qui contient uniquement une apostrophe.

Le ' commence une chaîne qui se terminera avant /proc/net/dev.

La fin, « d\n" », fait partie du script.

Il faut se rappeler que dans une chaîne entre ', seul ' est actif pour
marquer la fin de la chaîne, il n'y a pas d'échappement. Donc il est
impossible de faire figurer ' lui-même.

À la place, on assemble une chaîne entre ' puis une apostrophe seule
entre " puis une chaîne entre ' pour la fin du script. C'est pénible,
mais moins que de devoir penser à quoter tous caractères spéciaux pour
une chaîne en ".

Tout ceci se passe au niveau du shell. Ce que gawk voit, c'est :
« if ($1==k){printf "%'d\n", $10/1000} » (avec des guillemets français
pour délimiter).

Date Sujet#  Auteur
28.03 * formattage awk11Lulu
29.03 +- Re: formattage awk1Benoit Izac
29.03 `* Re: formattage awk9Philippe Weill
29.03  `* Re: formattage awk8Benoit Izac
30.03   `* Re: formattage awk7Lulu
30.03    +* Re: formattage awk4Nicolas George
31.03    i`* Re: formattage awk3Lulu
31.03    i `* Re: formattage awk2Benoit Izac
03.04    i  `- Re: formattage awk1Lulu
30.03    +- Re: formattage awk1Benoit Izac
31.03    `- Re: formattage awk1Lulu

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal