matt1967
Goto Top

verschiedene Werte aus einen txt file auslesen und ihn eine neue Datei schreiben

Hallo zusammen
ich bräuchte mal Eure Hilfe!

wird war wahrscheinlich auf den ersten Blick etwas verwirrend sein. ich haben über einen automatischen prozess einen output erstellt welcher mir die kompletten netzwerkverbindungen der switche untereinander darstellt! der output sieht so aus: Das sind übrigens so circa 2000 dieser Tasks dazwischen steht noch etwas Müll was ich nicht benötige.

was ich aus dem File rauslesen und weg schreiben möchte ist zum einen diese Zeile: Device Name: de-m220-sw-mr-01-03.hp-networking.media-saturn.com, dann benötige ich noch die jeweilgen uplinks die sehen so aus: de-m220-sw-sr-01-01.media-saturn.com Gig 0/1 140 S I WS-C3560- Gig 0/1.
die switche haben jeweils verschiedenen bezeichnungen und fangen immer wie folgt an: swcs, s001 (niedrigster Wert )- s219 ( höchster Wert) , m01 (niedrigster Wert ) - m21( höchster Wert), de-s, de-m, de-d, bc,
Um es auf den Punkt zu bringen, ich brauche aus den Text files jeweils die Switche mit den oben aufgeführten Bezeichnungen. Ich kenne zwar den findstr befehl aber was mir nicht klar ist wie baue ich die anderen verschiedenen Bezeichnungen ein so das er mir alle anzeigt.


Device Name: de-m220-sw-mr-01-03.hp-networking.media-saturn.com
Status: Completed
Results:
sh cdp n
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone

Device ID Local Intrfce Holdtme Capability Platform Port ID
SEP001BD460D016 Fas 0/18 155 H P IP Phone Port 1
SEP001B2A20A289 Fas 0/24 139 H P IP Phone Port 1
SEP001AE2BCEED3 Fas 0/11 165 H P IP Phone Port 1
SEP001BD460E279 Fas 0/19 168 H ATA 186 Port 1
SEP001BD47D7964 Fas 0/3 131 H P IP Phone Port 1
SEP001AE2BCEEC8 Fas 0/20 124 H P IP Phone Port 1
SEP001B53F0BF8D Fas 0/12 122 H ATA 186 Port 1
SEP001C581C8E38 Fas 0/15 138 H P IP Phone Port 1
SEP001B0CDBD30F Fas 0/2 130 H P IP Phone Port 1
SEP001BD4C6E106 Fas 0/8 160 H P IP Phone Port 1
SEP001C58CD081C Fas 0/16 119 H P CP-7921G Port 0
SEP001BD458BFAD Fas 0/16 98 H P CP-7921G Port 0
SEP001AE2BCF96C Fas 0/6 136 H P IP Phone Port 1
SEP001BD4C67A08 Fas 0/7 135 H P IP Phone Port 1
de-m220-sw-sr-01-01.media-saturn.com
Gig 0/1 140 S I WS-C3560- Gig 0/1
de-m220-ap-00-02.media-saturn.com
Fas 0/9 172 T I AIR-AP113 Fas 0.1
de-m220-ap-00-03.media-saturn.com
Fas 0/16 123 T I AIR-AP113 Fas 0.1
de-m220-ap-00-05.media-saturn.com
Fas 0/5 137 T I AIR-AP113 Fas 0.1
de-m220-sw-mr-01-03#

Gruß
Matthias

Content-Key: 121051

Url: https://administrator.de/contentid/121051

Printed on: April 23, 2024 at 06:04 o'clock

Member: bastla
bastla Jul 22, 2009 at 10:24:06 (UTC)
Goto Top
Hallo matt1967!
Ich kenne zwar den findstr befehl aber was mir nicht klar ist wie baue ich die anderen verschiedenen Bezeichnungen ein so das er mir alle anzeigt.
Eine Textdatei mit je einem Suchbegriff je Zeile erstellen und den Schalter "/G:Textdatei" verwenden.

Grüße
bastla
Member: matt1967
matt1967 Jul 22, 2009 at 10:30:18 (UTC)
Goto Top
Hallo bastla, da habe ich ja gleich den richtigen erwischt, du hast mir schon einmal super geholfen face-smile

du meinst so:

findstr /c: swcs /G: textdatei
findstr /c: s001 /G: textdatei

das problem ist halt die Switche z.B s001 gehen bis s219
da habe ich schon einmal über 200 Einträge das wollte ich eigentlich verhindern

Gruß
Matthias
Member: bastla
bastla Jul 22, 2009 at 10:47:13 (UTC)
Goto Top
Hallo matt1967!

Gemeint war:
findstr /g:textdatei logdatei
mit dem Inhalt der "textdatei":
s001
s002
...
s219
m01
...
Mit
@echo off & setlocal enabledelayedexpansion
for /L %%i in (1001,1,1219) do (
    set "Nr=%%i"  
    >>textdatei echo s!Nr:~-3!
)
kannst Du zB die "s###"-Einträge sehr rasch erstellen ...

Grüße
bastla
Member: matt1967
matt1967 Jul 22, 2009 at 10:50:39 (UTC)
Goto Top
ok jetzt habe ich es kapiert, werde es mal versuchen

Danke

Gruß
Matthias
Member: matt1967
matt1967 Jul 22, 2009 at 11:37:07 (UTC)
Goto Top
Hallo bastla,

im Grunde genommen funktioniert es aber ich bekommen nicht alles angezeigt was ich möchte.
Ich habe eine txt datei mit den Switchbezeichnungen erstellt sieht so aus:
bc8-switch1.
bc8-switch2.
bc9-switch1.
bc9-switch2.
de-d131-sw-mr-01-02.
de-d131-sw-sr-01-01.
de-d133-sw-mr-01-01.
de-d133-sw-sr-01-01.
de-d133-sw-sr-02-01.

der output sieht dann so aus:
Device Name: swcs3560-d014.hp-networking.media-saturn.com
Device Name: swcs3560-h103.hp-networking.media-saturn.com
swcs3560-h112.media-saturn.com
swcs3750-h101.media-saturn.com
Device Name: swcs3560-d017.hp-networking.media-saturn.com
swcs3750-d001.media-saturn.com
Device Name: swcs3560g-c10-62.hp-networking.media-saturn.com
swcs6509-c004.media-saturn.com
Device Name: swcs3560-e006.hp-networking.media-saturn.com
swcs3560-e003.media-saturn.com
swcs3560-e005.media-saturn.com

hier fehlen mir aber die Einträge der uplinks wie z.B de-m220-sw-sr-01-01.media-saturn.com
Gig 0/1 140 S I WS-C3560- Gig 0/1

Gruß
Matthias
Member: matt1967
matt1967 Jul 22, 2009 at 12:02:15 (UTC)
Goto Top
ich denke das Problem liegt an diesem Zeilenumbruch bei den uplinks aber den bekomme ich nicht weg
de-m220-sw-sr-01-01.media-saturn.com
Gig 0/1 140 S I WS-C3560- Gig 0/1
Member: matt1967
matt1967 Jul 29, 2009 at 08:18:14 (UTC)
Goto Top
so nach 3 Tage basteln habe ich es fast geschaft nur ein Problem bekomme ich nicht in den Griff. ich hoffe das jemand von Euch eine Idee hat.

das original file das ich filtere sieht von der Struktur so aus:
für mich sind die Einträge wichtig die ich unten durch den Strich etwas abgetrennt habe. Das filtern funktioniert auch soweit nur durch den langen domain namen wird ein Zeilenumbruch erzwungen und aus irgend einem Grund habe ich dann in meinem File immer nur die 2 Zeile beginnend mit Gig und die Zeile mit dem Device Namen fehlt. Siehe zweites Beispiel!

ne Idee?

Task 14966353 --------------
Device Name: de-m220-sw-sr-02-01.hp-networking.media-saturn.com
Status: Completed
Results:
sh cdp n
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone

Device ID Local Intrfce Holdtme Capability Platform Port ID
SEP001BD47DF71C Fas 0/21 139 H P IP Phone Port 2
SEP001BD4A00280 Fas 0/4 122 H P IP Phone Port 1
SEP001BD4A0021F Fas 0/3 166 H P IP Phone Port 1
SEP001BD458BFAD Fas 0/5 159 H P CP-7921G Port 0

de-m220-sw-sr-01-03.media-saturn.com
Gig 0/1 124 S I WS-C3560- Gig 0/2
de-m220-sw-sr-02-02.media-saturn.com
Gig 0/2 133 S I WS-C3560- Gig 0/1
de-m220-sw-sr-02-02.media-saturn.com
Fas 0/21 133 S I WS-C3560- Fas 0/24
de-m220-ap-00-09.media-saturn.com
Fas 0/5 158 T I AIR-AP113 Fas 0.1
de-m220-ap-00-10.media-saturn.com
Fas 0/23 124 T I AIR-AP113 Fas 0.1
de-m220-sw-sr-02-01#



Device Name: de-m224-sw-sr-04-01.hp-networking.media-saturn.com
Gig 0/2 147 R S I WS-C3560- Gig 0/2
Gig 0/1 129 S I WS-C3560- Gig 0/2