Txt. Datei in Excel auswerten und Gruppieren
Hallo liebe Administrator Community,
dies hier ist mein erster Beitrag und direkt eine Frage.
Ich habe das Problem das ich kein wirklicher Excel Profi bin und mir das Internet bis jetzt nicht wirklich weiter geholfen habe. Ich hoffe das es da draußen einen Excel Profi gibt der mir helfen kann.
Ich arbeite mit Excel 2013 und habe folgendes Problem:
Ich hab eine Text datei mit einer Mengen Server Konfigurationen.
Das Schema diese folgendermaßen aus:
define host {
host_name newfinprd11
address 192.168.178.1 (zensiert)
icon_image_alt Windows Server
icon_image base/win40.gif
statusmap_image base/win40.gd2
check_command check-host-alive
check_period 24x7
notification_period 24x7
contact_groups +admins,KP-SAP,LEITSTAND
parents switch-zentral
use generic-host
von diesen Abschnitten sind hunderte in der Textdatei.
Was wichtig für mich ist , ist der zweite Wert bei " contact_groups" . In diesem Fall "KP-SAP".
Was ich möchte ist folgendes: ich suche ein Script welches mir die Textdatei ausliest und in eine Excel Tabelle exportiert so dass ich in der Excel Tabelle Drop Down Menüs habe mit dem "contact_groups" als Überschrift. In Beispiel wäre es dann "KP-SAP". Wenn ich das Dropdown Menü dann öffne möchte ich alle "host_name"s haben die zu dieser "contact_group" gehört.
Ist so etwas möglich?
Ich hoffe es war halbwegs verständlich.
Es sind wirklich hunderte Server die da Gruppiert werden sollen. Das alles Manuell zu tun würde Zeit in Anspruch nehmen die ich nicht habe.
Vielen Dank und viele Grüße,
Luca Marc
dies hier ist mein erster Beitrag und direkt eine Frage.
Ich habe das Problem das ich kein wirklicher Excel Profi bin und mir das Internet bis jetzt nicht wirklich weiter geholfen habe. Ich hoffe das es da draußen einen Excel Profi gibt der mir helfen kann.
Ich arbeite mit Excel 2013 und habe folgendes Problem:
Ich hab eine Text datei mit einer Mengen Server Konfigurationen.
Das Schema diese folgendermaßen aus:
define host {
host_name newfinprd11
address 192.168.178.1 (zensiert)
icon_image_alt Windows Server
icon_image base/win40.gif
statusmap_image base/win40.gd2
check_command check-host-alive
check_period 24x7
notification_period 24x7
contact_groups +admins,KP-SAP,LEITSTAND
parents switch-zentral
use generic-host
von diesen Abschnitten sind hunderte in der Textdatei.
Was wichtig für mich ist , ist der zweite Wert bei " contact_groups" . In diesem Fall "KP-SAP".
Was ich möchte ist folgendes: ich suche ein Script welches mir die Textdatei ausliest und in eine Excel Tabelle exportiert so dass ich in der Excel Tabelle Drop Down Menüs habe mit dem "contact_groups" als Überschrift. In Beispiel wäre es dann "KP-SAP". Wenn ich das Dropdown Menü dann öffne möchte ich alle "host_name"s haben die zu dieser "contact_group" gehört.
Ist so etwas möglich?
Ich hoffe es war halbwegs verständlich.
Es sind wirklich hunderte Server die da Gruppiert werden sollen. Das alles Manuell zu tun würde Zeit in Anspruch nehmen die ich nicht habe.
Vielen Dank und viele Grüße,
Luca Marc
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 283029
Url: https://administrator.de/forum/txt-datei-in-excel-auswerten-und-gruppieren-283029.html
Ausgedruckt am: 07.05.2025 um 06:05 Uhr
5 Kommentare
Neuester Kommentar
Hallo LucaMarc, Willkommen auf Administrator.de!
Das kannst du bspw. ziemlich schnell mit folgendem Powershell-Skript erledigen:
In Zeile 1 gibst du den Pfad zur Textdateien an und in Zeile 2 den Pfad für die zu erzeugende CSV-Datei.
Welche dann so aussieht ( Habe sie hier schon als Tabelle formatiert damit man sie mit den Spaltenfiltern filtern kann):

Diese kannst du ja dann nach Gruppe filtern, so dass dir nur die entsprechenden Hosts für diese Grupppe angezeigt werden.
(hier Filter aktiv für Gruppe KP-ABC)

Grüße Uwe
p.s. der Regular Expression String zum extrahieren deiner Daten ist mit Vorbehalt zu genießen da du hier deine Daten nicht mit Code-Tags ausgezeichnet hast
Das kannst du bspw. ziemlich schnell mit folgendem Powershell-Skript erledigen:
$fileIN = 'C:\temp\data.txt'
$fileOUT = 'C:\temp\export.csv'
[regex]::Matches((gc $fileIN | out-string),'(?sim)define host.*?host_name\s*([^\s]+).*?contact_groups\s*.*?,([^,]+)').Captures | select @{n="Host";e={$_.Groups[1].Value}},@{n="Group";e={$_.Groups[2].Value}} | sort Group | export-csv $fileOUT -Delimiter ";" -Encoding UTF8 -NoType
Welche dann so aussieht ( Habe sie hier schon als Tabelle formatiert damit man sie mit den Spaltenfiltern filtern kann):

Diese kannst du ja dann nach Gruppe filtern, so dass dir nur die entsprechenden Hosts für diese Grupppe angezeigt werden.
(hier Filter aktiv für Gruppe KP-ABC)

Grüße Uwe
p.s. der Regular Expression String zum extrahieren deiner Daten ist mit Vorbehalt zu genießen da du hier deine Daten nicht mit Code-Tags ausgezeichnet hast
<code> Quellcode </code>
, da ansonsten eventuelle Sonderzeichen verloren gehen können!