FreeBSD sockstat ausgabe in .csv datei in mehr als einer Spalte
Hallo Zusammen,
ich bin neu im Thema FreeBSD und googlen hat mich leider nicht auf mein gewünschtes Ergebnis gebracht, daher hoffe ich hier hilfe zu erhalten:
Folgende Thematik: Ich möchte das Ergebnis meines sockstat -4 in einer .csv Datei festhalten. sockstat -4 > ergebnis.csv macht dies auch. Leider ohne vernünftige Formatierung. Er schreibt leider alles in die erste Spalte, so dass man nicht wirklich eine übersicht erhält und die Liste z.B. nach USER'n nicht sortierbar ist.
Stundenlanges googlen hat mich irgendwann bis zu folgendem gebracht:
sockstat -4 |awk 'BEGIN {FS="[ :/]"; OFS=","} $1 == "tcp" {x=$8; y=$9} $1 == "udp" {x=""; y=$8}{print $4,$1,$5,$6,$7,x,y}'
Leider mit dem selben, nicht nutzbaren ergebnis.
Hat von euch jemand einen Tipp wie man das lösen kann? Ein Einzeiler wäre mir am liebsten
Gruß
SilenZer
ich bin neu im Thema FreeBSD und googlen hat mich leider nicht auf mein gewünschtes Ergebnis gebracht, daher hoffe ich hier hilfe zu erhalten:
Folgende Thematik: Ich möchte das Ergebnis meines sockstat -4 in einer .csv Datei festhalten. sockstat -4 > ergebnis.csv macht dies auch. Leider ohne vernünftige Formatierung. Er schreibt leider alles in die erste Spalte, so dass man nicht wirklich eine übersicht erhält und die Liste z.B. nach USER'n nicht sortierbar ist.
Stundenlanges googlen hat mich irgendwann bis zu folgendem gebracht:
sockstat -4 |awk 'BEGIN {FS="[ :/]"; OFS=","} $1 == "tcp" {x=$8; y=$9} $1 == "udp" {x=""; y=$8}{print $4,$1,$5,$6,$7,x,y}'
Leider mit dem selben, nicht nutzbaren ergebnis.
Hat von euch jemand einen Tipp wie man das lösen kann? Ein Einzeiler wäre mir am liebsten
Gruß
SilenZer
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1388661451
Url: https://administrator.de/forum/freebsd-sockstat-ausgabe-in-csv-datei-in-mehr-als-einer-spalte-1388661451.html
Ausgedruckt am: 23.12.2024 um 14:12 Uhr
7 Kommentare
Neuester Kommentar
Zitat von @SilenZer:
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
root python3.6 693 26 tcp4 192.168.21.55:43602 192.168.21.54:4505
_ntp ntpd 674 6 udp4 192.168.21.55:48448 192.168.21.53:123
Hier mal ein Beispiel was auf der Console erscheint.
Wenn ich dies nun kopiere oder automatisiert in eine CSV schreiben lasse, knallt er eine komplette Zeile in genau eine Zelle.
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
root python3.6 693 26 tcp4 192.168.21.55:43602 192.168.21.54:4505
_ntp ntpd 674 6 udp4 192.168.21.55:48448 192.168.21.53:123
Hier mal ein Beispiel was auf der Console erscheint.
Wenn ich dies nun kopiere oder automatisiert in eine CSV schreiben lasse, knallt er eine komplette Zeile in genau eine Zelle.
Und wie hättest Du es gerne?
Zitat von @SilenZer:
Hey,
die ausgabe sieht nun so aus:
Hey,
die ausgabe sieht nun so aus:
USER;;;;;COMMAND;;;;PID;;;FD;PROTO;;LOCAL;ADDRESS;;;;;;;;;FOREIGN;ADDRESS;;;;;;
> root;;;;;python3.7;;29953;26;tcp4;;;192.168.21.103:18862;;192.168.21.51:4505
> root;;;;;sendmail;;;6299;;4;;tcp4;;;192.168.21.159:25;;;;;*:*
Dann so:
sockstat -4 | sed "s/ \+/;/g" | sed "s/;ADDRESS/ ADDRESS/g"