Warum unterscheiden sich meine awk-Ergebnisse vom Beispiel? - Linux, Bash, awk

Ich lerne awk und wenn ich den Beispielcode versuche Hier (gnu.org awk User's Guide, Abschnitt 4.6), bekomme ich verschiedene Antworten für einige der Zeilen.

Insbesondere wenn die Spalte "Leerlauf" leer ist (6Leerzeichen), zieht das Skript Daten aus der nächsten "nicht leeren" Spalte (d. h. der Spalte "JCPU") ein. Auch die "idle" -Spalte wird übersprungen, wenn versucht werden soll, "15days" in Sekunden zu konvertieren (das awk wählt die nächste Spalte für seinen "idle" -Wert).

Ich versuche herauszufinden, warum meine awk-Ergebnisse nicht mit den Ergebnissen des Beispiels übereinstimmen. Ich habe sichergestellt, dass meine Spaltenbreiten denen im Parameter FIELDWIDTHS entsprechen. Ich laufe auf 64 Bit Ubuntu 14.04 LTS

Meine Ergebnisse sind:

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

Antworten:

1 für die Antwort № 1

Wie von Mark Setchell angedeutet, gibt es mehrereVersionen von awk. Im Wikipedia-Eintrag für das Tool können Sie über einige von ihnen unter Geschichte und auch unter Überschriften und Implementierungen nachlesen. (http://en.wikipedia.org/wiki/AWK)

awk -W version

lässt Sie wissen, welche Version Sie gerade in einigen Varianten von awk verwenden. Sie können auch das ziemlich umfangreiche Handbuch von gawk lesen, um mehr über das Werkzeug zu erfahren.

Ihr Problem ist wahrscheinlich ein Attribut für Unterschiede in den Implementierungen der verschiedenen Versionen.


Speisekarte