Pourquoi mes résultats de awk sont-ils différents de l'exemple? - linux, bash, awk

J'apprends awk et quand j'essaie le code d'exemple ici (gnu.org awk "Guide de l’utilisateur, section 4.6), je reçois des réponses différentes pour certaines des lignes.

Plus précisément, si la colonne "inactive" est vide (6espaces), le script extrait les données de la colonne "non vide" suivante (c'est-à-dire la colonne "JCPU"). La colonne "inactive" est également ignorée alors qu'elle devrait tenter de convertir "15 jours" en secondes (l'awk sélectionne la colonne suivante pour la valeur "s" inactive ").

J'essaie de comprendre pourquoi mes résultats awk ne correspondent pas à ceux de l'exemple. Je me suis assuré que les largeurs de colonne correspondent à celles du paramètre FIELDWIDTHS. Je suis sous Ubuntu 14.04 LTS 64 bits

Mes résultats sont:

    hzuo    ttyV0   9
hzang   ttyV3   50
eklye   ttyV5   7
dportein    ttyV6   107
gierd   ttyD3   1
dave    ttyD4   4
brent   ttyp0   286
dave    ttyq4   46

Réponses:

1 pour la réponse № 1

Comme l’a indiqué Mark Setchell, il existe plusieursversions de awk. Dans l'entrée Wikipedia de l'outil, vous pouvez en savoir plus sur quelques-unes d'entre elles sous Historique, ainsi que sous Titres de versions et d'implémentations. (http://en.wikipedia.org/wiki/AWK)

awk -W version

vous permet de savoir quelle version vous utilisez actuellement dans certaines variantes de awk. Vous pouvez également lire le manuel assez complet de gawk pour en savoir plus sur l'outil.

Votre problème est probablement un attribut aux différences dans les implémentations des différentes versions.


Menu