Perché i risultati del mio awk sono diversi dall'esempio? - linux, bash, awk

Sto imparando awk e quando provo il codice di esempio Qui (gnu.org awk User's Guide, sezione 4.6), ottengo risposte diverse per alcune delle linee.

In particolare, se la colonna "idle" è vuota (6spazi), lo script inserisce i dati dalla successiva colonna "non vuota" (cioè la colonna "JCPU"). Anche la colonna "idle" viene saltata quando dovrebbe provare a convertire "15days" in secondi (l'awk sta selezionando la colonna successiva per il suo valore "idle").

Sto cercando di capire perché i risultati del mio awk non corrispondono ai risultati dell'esempio. Mi sono assicurato che le mie larghezze di colonna corrispondessero a quelle del parametro FIELDWIDTHS. Sono in esecuzione su Ubuntu 14.04 LTS a 64 bit

I miei risultati sono:

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

risposte:

1 per risposta № 1

Come indicato da Mark Setchell ce ne sono diversiversioni di awk. Nella voce di Wikipedia per lo strumento è possibile leggere alcuni di questi sotto Cronologia e anche sotto Versioni di versioni e implementazioni. (http://en.wikipedia.org/wiki/AWK)

awk -W version

ti consente di sapere quale versione stai attualmente utilizzando in alcune varianti di awk. Puoi anche leggere il manuale piuttosto esteso di gawk per saperne di più sullo strumento.

Il tuo problema è probabilmente un attributo alle differenze nelle implementazioni delle diverse versioni.


Menu