AWK mit NTP ?

OpenMedia

Lieutenant
Registriert
Okt. 2016
Beiträge
706
Hallo zusammen,
ich möchte mir gerne eine Tabelle am besten im CSV Format erstellen lassen die jede Minute die NTP Zeit abfragt.

Nun habe ich bereits etwas rumgespielt und bekomme mit ntpq -p die kleine Tabelle im Linux :

root@hello:/etc/init.d# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*time4.google.co .GOOG. 1 u 53 64 377 27.047 -0.841 0.657

Mit awk kann ich mir nun die erste Spalte anzeigen lassen, jedoch möchte ich ja eigentlich nur die Werte der 3 Spalte in eine CSV Datei sodass ich im Anschluss mit dem "offset" mir einen Graph erstellen lassen kann.

Weiß jemand wie man mit awk die 3. Spalte in eine CSV Datei bekommen kann am besten jede Minute. Vielen Dank für eure Hilfe.
 
Warum genau kannst du mit awk nicht einfach die dritte Spalte ausgeben? Ich verstehe nicht woran du hier scheiterst?
 
  • Gefällt mir
Reaktionen: OpenMedia und madmax2010
Sowas wie

ntpq -p|awk 'NR>2 {print $3}' >>datei

Bzw. wenn Du pro ntpq-Aufruf eine Zeile willst:

ntpq -p|awk 'NR>2 {printf("%s,",$3)} END {print ""}' >>datei

P.S.: Wenn Du den offset willst, ist das die 9. Spalte, dann musst Du $3 durch $9 ersetzen.
 
  • Gefällt mir
Reaktionen: OpenMedia und DrAgOnBaLlOnE
@mae @abcddcba Vielen Dank zusammen jetzt habe ich ein einziges Problem noch wenn ich mir mit dem Befehl : ntpq -p | awk 'NR>2' Die Zeile ausgebe kann ich diese ja mit >> hello.txt in eine Datei schreiben wie kann ich denn dann immer eine neue Zeile hinzufügen ? Ich kann ja mit \n eine Neue Zeile hinzufügen aber wie wird das umgesetzt
 
Statt {print ""} müsste ein {print "\\n"} genau das machen.
 
Das >> sorgt dafuer, dass es an die Datei angehaengt wird. print "" gibt ein newline aus.
 
Zurück
Oben