Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:hypathie:tutos:awk-synthese [02/08/2014 20:07] Hypathie [Opérateurs de tests] |
utilisateurs:hypathie:tutos:awk-synthese [06/08/2014 08:40] (Version actuelle) Hypathie [Variables prédéfinies] |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
=====Variables prédéfinies===== | =====Variables prédéfinies===== | ||
===Celles en mémoire dès le lancement de la commande === | ===Celles en mémoire dès le lancement de la commande === | ||
- | Voici les variables internes du langage awk présente en mémoire dès le lancement de la commande. | + | Voici les variables internes du langage awk présentes en mémoire dès le lancement de la commande. |
^Variables ^Significations ^Valeurs par défaut ^ | ^Variables ^Significations ^Valeurs par défaut ^ | ||
Ligne 30: | Ligne 30: | ||
^ ^ ^ | ^ ^ ^ | ||
|$0|Valeur de l'enregistrement courant| | |$0|Valeur de l'enregistrement courant| | ||
- | |FNR |Nombre d'enregistrements du fichier| | + | |NF |Nombre de champs de l'enregistrement courant| |
|$1 $2 ... $NF|$1 : champ n°1\\ $2 champ n°2\\ $NF : valeur du dernier champ| | |$1 $2 ... $NF|$1 : champ n°1\\ $2 champ n°2\\ $NF : valeur du dernier champ| | ||
|NR |Indice de l'enregistrement courant\\ (NR vaut 1 quand la première ligne est lu, et s'incrémente à chaque enregistrement.)| | |NR |Indice de l'enregistrement courant\\ (NR vaut 1 quand la première ligne est lu, et s'incrémente à chaque enregistrement.)| | ||
Ligne 42: | Ligne 42: | ||
^Opérateurs ^Significations ^ | ^Opérateurs ^Significations ^ | ||
- | |**<nowiki>==</nowiki>** |égale à | | + | |**<nowiki>==</nowiki>** |égale à (binaire) | |
- | |**<nowiki>!=</nowiki>** |différent de | | + | |**<nowiki>!=</nowiki>** |différent de (binaire)| |
- | |**<nowiki><=</nowiki>** |inférieur ou égale à | | + | |**<nowiki><=</nowiki>** |inférieur ou égale à (binaire) | |
- | |**<nowiki>>=</nowiki>** |supérieur ou égale à | | + | |**<nowiki>>=</nowiki>** |supérieur ou égale à (binaire) | |
- | |**<nowiki><</nowiki>** |inférieur à | | + | |**<nowiki><</nowiki>** |inférieur à (binaire)| |
- | |**<nowiki>></nowiki>** |supérieur à | | + | |**<nowiki>></nowiki>** |supérieur à (binaire)| |
- | |**<nowiki>~</nowiki>** |correspondance avec ER | | + | |**<nowiki>~</nowiki>** |correspondance avec ER (binaire)| |
- | |**<nowiki>!~</nowiki>** |non-correspondance avec ER | | + | |**<nowiki>!~</nowiki>** |non-correspondance avec ER (binaire)| |
|**<nowiki>!</nowiki>** |négation | | |**<nowiki>!</nowiki>** |négation | | ||
|**<nowiki>&&</nowiki>** |ET logique | | |**<nowiki>&&</nowiki>** |ET logique | | ||
Ligne 114: | Ligne 114: | ||
|<nowiki>%=</nowiki> |x%=y équivaut à x = x % y | | |<nowiki>%=</nowiki> |x%=y équivaut à x = x % y | | ||
|<nowiki>^=</nowiki> |<nowiki>x^=y équivaut à x = x ^ y</nowiki> | | |<nowiki>^=</nowiki> |<nowiki>x^=y équivaut à x = x ^ y</nowiki> | | ||
- | + | ||
+ | |||
+ | =====Tableaux récapitulatif des contrôleurs et modificateurs de formats ===== | ||
+ | |||
+ | ====Tableau des contrôleurs de format ==== | ||
+ | |||
+ | ^Contrôleurs de format ^Explications ^Exemples de contenu\\ de la variable $n ^Format d'apparition de la variable ^ | ||
+ | |%s | Toute chaîne de caractères. | Pour n correspondant à "toto"\\ ("%s", $n) | 'toto' | | ||
+ | |%xs | Exemple, avec modificateur de format | Pour n correspondant à "toto"\\ ("%10s", $n)| ' toto' | | ||
+ | |%xs | Autre exemple, avec modificateur de format | Pour n correspondant à "toto"\\ ("%.s", $n) | 'tot' | | ||
+ | |%c | Imprime un nombre comme un caractère ASCII. | Pour n correspondant à 65\\ ("%c", $n)\\ Pour n correspond à 83\\ ("%c", $n) | la lettre 'A'\\ la lettre 's' | | ||
+ | |%d | La partie entière d'un nombre décimal | Pour n=18.5\\ ("%d", $n) | '18' | | ||
+ | |%xd | Exemple avec modificateur de format\\ Précision du nombre de chiffres | Pour n=18.5\\ ("%5d", $n) | '18' | | ||
+ | |% i | Équivalents de%d : Tous deux imprime un entier décimal.\\ Le% i est pour la compatibilité avec ISO C ||| | ||
+ | |%e | Nombre réel sous la forme <nowiki>[-]d.ddddddE[+/-]dd</nowiki> | Pour n=83,5\\ ("%e", $n) | '8.350000e+01' | | ||
+ | |%f | Nombre réel sous la forme <nowiki>[-]ddd.dddddd.</nowiki> | Pour n=83,5\\ ("%e", $n) | '83.500000' | | ||
+ | |%g | Le plus court entre e et f avec suppression des zéros. | Pour n=83,5\\ ("%g", $n) | '83,5' | | ||
+ | |%o | Nombre octal non signé. | Pour n=83,5\\ ("%g", $n) | '123' | | ||
+ | |%x | Nombre hexadécimal non signé. | Pour n=83,5\\ ("%g", $n) |'53'| | ||
+ | |%% | Écriture d'un % si aucun argument n'est présent ||| | ||
+ | |||
+ | |||
+ | ====Tableau des principaux modificateurs de contrôleur ==== | ||
+ | |||
+ | ^Modificateurs ^Significations ^ | ||
+ | |n largeur | Il s'agit d'un numéro spécifiant la largeur minimale souhaitée d'un champ.\\ On la place ainsi ''%nContrôleur'' | | ||
+ | |période\\ . (point) ou n\\ avec pour n une valeur numérique | Suivie d'une constante entière, une période indique la précision à utiliser lors de l'impression.\\ Le sens de la précision varie selon le contrôleur. | | ||
+ | |%.e , %.f |aucun chiffre à droite de la virgule décimale. | | ||
+ | |%ng | n nombre(s) maximum de chiffre(s) significatif(s) | | ||
+ | |%nd , %ni , %no , %nx | n nombre(s) minimum de chiffre(s) à imprimer.| | ||
+ | |%ns | n nombre(s) maximum de caractère(s) (pour une chaîne) à imprimer. | | ||
+ | |- | Le signe moins, utilisés avant le modificateur de 'largeur', permet de justifier à gauche. | | ||
+ | | espace | Pour les conversions numériques, précéder les valeurs positives d'un espace\\ et des valeurs négatives avec un signe moins. | | ||
+ | |+ | Le signe plus, utilisé avant le largeur modificateur de 'largeur',\\ dit de toujours fournir un signe pour les conversions numériques,\\ même si les données du format sont positives.\\ Le '+' l'emporte sur le modificateur de l'espace.| | ||
+ | | 0 | Un leader '0' (zéro) agit comme un drapeau qui indique que la sortie devrait être complétée par des zéros au lieu d'espaces.\\ Cela s'applique même aux formats de sortie non numériques. | | ||
+ | |# | Utilisez une "autre forme" pour certaines lettres de commande. | | ||
+ | |||
+ |