Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Logfile nach bestimmten Inhalten durchsuchen und in neuer Datei speichern

Mitglied: Snore

Snore (Level 1) - Jetzt verbinden

02.01.2009, aktualisiert 10:38 Uhr, 4827 Aufrufe, 7 Kommentare

Hallo zusammen,

wünsche erst mal allen ein gesundes und erfogreiches neuen Jahr 2009!

Hab da ein Problem im Bereich Logfiles auswerten und finde keine Vernünfigte Lösung dieses per Batch zu lösen.
Hoffe Ihr könnt mir hier weiterhelen.

Folgendes Problem.
Ich bekomme aus einem Script folgendes Logfile zurück und möchte dieses nach bestimmten Kriterien durchsuchen und ein neues Logifle erzeugen.
Die Problematik liegt darin, dass ich geren für jeden User die Auswerung in einer Zeilen haben möchte!
Die Logfiles sind immer gleich aufgebaut (außer länge weicht je nach Useranzal ab)

Beispiel Logfile:

Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

@------------------------------------------------------------
@ Text file with Users: c:\admin\temp\dn-default-users.txt
@ Text file with User Configration: c:\admin\temp\\default-config.txt
@------------------------------------------------------------

@------------------------------------------------------------
@ Configuring CN=GIL1,OU=AND,OU=MAMBA,DC=meine,DC=Firma,DC=net
@------------------------------------------------------------
Using userPrincipalName [SipUri: sip:gil1@Firma.com]
User sip:gil1@Firma.com
Since user has NOT been previously SIP enabled, creating...
[+] User update successful.

@------------------------------------------------------------
@ Configuring CN=GIL2,OU=AND,OU=MAMBA,DC=meine,DC=Firma,DC=net
@------------------------------------------------------------
Using userPrincipalName [SipUri: sip:gil2@Firma.com]
User sip:gil2@Firma.com
Since user has NOT been previously SIP enabled, creating...
[+] User update successful.

@------------------------------------------------------------
@ Configuring CN=GIL3,OU=AND,OU=MAMBA,DC=meine,DC=Firma,DC=net
@------------------------------------------------------------
Using userPrincipalName [SipUri: sip:gil3@Firma.com]
User sip:gil3@Firma.com
Since user has NOT been previously SIP enabled, creating...
[+] User update successful.

Beispiel für gewünschte Ausgabe in neuer datei:

gil1@Firma.com creating User update successful.
gil2@Firma.com creating User update successful.
gil3@Firma.com creating User update successful.

Kann zwar das Logiles über for /f zeielenweise auslesen und auch mit findstr nach bestimmten kriterien suchen, bekomme dies aber nich in eine neue datei mit der gewünschten Ausgabe hin.

Danke im Voraus!

Gruss Snore
Mitglied: miniversum
02.01.2009 um 12:03 Uhr
Versuchs mal damit:
01.
@echo off 
02.
set "line=" 
03.
FOR /F "skip=2 delims=" %%i in ('findstr "User" "Datei.txt"') do call:verarb "%%i" 
04.
goto:eof 
05.
 
06.
:verarb 
07.
if "%line%" equ "" ( 
08.
FOR /F "tokens=2 delims=:" %%i in ('echo %~1') do set "line=%%i" 
09.
) else ( 
10.
FOR /F "tokens=1* tokens=1 delims= " %%i in ('echo %~1') do echo %line% creating %%j 
11.
set "line=" 
12.
13.
goto:eof
Bitte warten ..
Mitglied: Snore
02.01.2009 um 14:06 Uhr
Hi, erstmal besten dank!
funktioniert mit dem angegebenen Logfile von mir 1a!
Da meine Logfiles leider in einigen Zeilen abweichen funktioniert das Script leider nicht so ganz (Sorry mein Fehler!)

mit folgendem Logfile geht es leider nicht, da Zeilen abweichen!

@------------------------------------------------------------
@ Configuring CN=GIL4,OU=AND,OU=MAMBA,DC=meine,DC=Firma,DC=net
@------------------------------------------------------------
Using msRTCSIP-PrimaryUserAddress [SipUri: sip:gil4@Firma.com]
User sip:gil4@Firma.com
Since user has been previously SIP enabled, updating...
[+] User update successful.

@------------------------------------------------------------
@ Configuring CN=GIL5,OU=AND,OU=MAMBA,DC=meine,DC=Firma,DC=net
@------------------------------------------------------------
Using mail [SipUri: sip:gil5@Firma.com]
User sip:gil5@Firma.com
Since user has NOT been previously SIP enabled, creating...
[-] User update unsuccessful. Error: -2147024891 Access is denied.

Desweiteren versteh ich nicht ganz den Ablauf des Scriptes.
1.Wozu benötigtst du in der ersten for-schleife skip=2 (bedeutet doch man überspringt die ersten 2 Zeilen ???)
2. Bei der Sprungmarke verarb vergleichst Du ob line == leer ist wiso???
3. In der dritten for-schleife mehrmals token ???
4. Du überspringst eine Zeile im Logfile und gibst creating über echo aus kann aber auch updating...sein (Kannst Du ja nicht wissen!)

Die Zeilenanzahl bleibt immer gleich nur der Inhalt kann abweichen.
Strings die immer für jede Zeile gleich bleiben sind:
"SipUri:" -> für die erste Zeile
"User sip:" -> für die zweite Zeile
"Since user has" -> für die dritte Zeile
"User update" -> für die letzte Zeile

Die Ausgabe könnte auch auch so aussehen:

gil5@Firma.com updating... [+] User update successful.
gil5@Firma.com creating... [-] User update unsuccessful. Error: -2147024891 Access is denied.


Nochmals Sorry für meine ungenauen Angaben!

Gruss Snore
Bitte warten ..
Mitglied: miniversum
02.01.2009 um 14:26 Uhr
Ändere mal die erste For-Schleife (Zeile 3) so ab:
01.
FOR /F "skip=1 delims=" %%i in ('findstr /C:"User " "Datei.txt"') do call:verarb "%%i"
Die Batch Funktioniert sd as nach den Stichwort "User " gesucht wird. Da das in den ersten zeilen auch vorkommt werden die übersprungen.
Gibst du den ausdruck in der ersten Forschleife ein wird dort imemr abwchselnt eine Zeile für den Username ausgegeben udn eine mit dem Status. Die "%line%" equ "" Abfrage bewirkt zusammen mit dme set "line=" in Zeile 11 das siese Ausgabe imemr abwechselnd in %line% gespeichert oder eben ausgegeben wird. So werden aus den beiden zusammengehörigen Zeilen die relevanten teile ausgesucht und zusammengesetzt.
Das war der Stand mit den Infos dieich von Eingangsposting hatte.

Mit den Konstanten Infos könnte man die Zuchabfrage allerdings auch besser anpassen.
Bitte warten ..
Mitglied: Snore
02.01.2009 um 16:26 Uhr
Super funktioniert spitze!
Vielen Dank für die schnelle Hilfe!

Gruss Snore
Bitte warten ..
Mitglied: miniversum
02.01.2009 um 16:56 Uhr
Hier noch eine Version die mit der jeweiligen Zeilennummer von "User sip:" und den relativen nachvolgenden Zeilen arbeitet:
01.
@echo off 
02.
FOR /F "delims=:" %%i in ('findstr /n /C:"User sip:" "Datei.txt"') do call:verarb %%i 
03.
goto:eof 
04.
 
05.
:verarb 
06.
set "line=" 
07.
 
08.
set /a offset=%1-1 
09.
set "templine=" 
10.
FOR /F "skip=%offset% tokens=2 delims=:" %%i in ('type "Datei.txt"') do if not defined templine set "templine=%%i" 
11.
set "line=%templine%" 
12.
 
13.
set /a offset=%1 
14.
set "templine=" 
15.
FOR /F "skip=%offset% tokens=2 delims=,." %%i in ('type "Datei.txt"') do if not defined templine set "templine=%%i" 
16.
set "line=%line%%templine%" 
17.
 
18.
set /a offset=%1+1 
19.
set "templine=" 
20.
FOR /F "skip=%offset% delims=" %%i in ('type "Datei.txt"') do if not defined templine set "templine=%%i" 
21.
set "line=%line% %templine%" 
22.
 
23.
echo %line% 
24.
goto:eof
Bitte warten ..
Mitglied: Snore
02.01.2009 um 20:37 Uhr
Hi,

danke für die zweite Variante!
Bin immer wieder erstaunt, was man mit Batch alles realisieren kann.
Aber leider nicht performant genug, da die Logfiles bis zu ca. 1024KB groß sind (bis zu 20.000 Zeieln) dauert der Durchlauf in der 2'ten Version viel zu lange!

Gruß Snore
Bitte warten ..
Mitglied: miniversum
03.01.2009 um 11:07 Uhr
Hier nochmal eine Erweiterte Version die so schnell wie die erstre sein sollte und die Creating / updating information mit ausliest:
01.
@echo off 
02.
set "linenr=0" 
03.
FOR /F "skip=1 delims=" %%i in ('findstr /i /C:"User " "Datei.txt"') do call:verarb "%%i" 
04.
goto:eof 
05.
 
06.
 
07.
:verarb 
08.
 
09.
if "%linenr%" equ "0" ( 
10.
set "line=" 
11.
set "linenr=1" 
12.
13.
 
14.
if "%linenr%" equ "1" ( 
15.
FOR /F "tokens=2 delims=:" %%i in ('echo %~1') do set "line=%line% %%i" 
16.
set "linenr=2" 
17.
goto:eof 
18.
19.
 
20.
if "%linenr%" equ "2" ( 
21.
FOR /F "tokens=2 delims=,." %%i in ('echo %1') do set "line=%line%%%i" 
22.
set "linenr=3" 
23.
goto:eof 
24.
25.
 
26.
if "%linenr%" equ "3" ( 
27.
FOR /F "tokens=1* tokens=1 delims= " %%i in ('echo %~1') do set "line=%line% %%j" 
28.
set "linenr=4" 
29.
30.
 
31.
if "%linenr%" equ "4" ( 
32.
echo %line% 
33.
set "linenr=0" 
34.
goto:eof 
35.
36.
 
37.
goto:eof
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batchdatei: Datei nach bestimmten Zeilen durchsuchen und in anderer Datei einfügen

Frage von Vit1985Batch & Shell1 Kommentar

Hallo, ich möchte mit einem batch aus einer *.msg Datei 4 Zeilen heraussuchen und diese Zeilen sollen dann in ...

Batch & Shell

Dateien mit bestimmtem Inhalt im Namen kopieren

gelöst Frage von pblackyBatch & Shell2 Kommentare

Ich habe in einem Ordner folgende log Dateien liegen 2018-02-20_162254_UBIMET8GB.log 2018-02-20_170006_UBIMET8GB.log 2018-02-21_053402_UBIMET8GB.log 2018-02-21_170005_UBIMET8GB Gestoppt .log 2018-02-21_175857_UBIMET8GB Fehler .log 2018-02-21_180245_UBIMET8GB.log 2018-02-21_181652_UBIMET8GB.log 2018-02-21_181712_UBIMET8GB.log Wenn in ...

Batch & Shell

Per Batch Datei am Anfang einer .csv einer zeile mit bestimmten Inhalt einfügen und wieder speichern

Frage von FuxxLiBatch & Shell1 Kommentar

Hallo, ich habe folgende Herausforderung. Die Warenwirtschaft des Kunden exportiert nur Dateien mit einer Kopfzeile. Ein Dienstleister benötigt aber ...

Batch & Shell

Bestimmte Zeilen in einer Batch Datei löschen und die Datei neu speichern

Frage von nowyouseeme93Batch & Shell1 Kommentar

Share I$ H$ C$ F:\Benutzerservice\meineDaten G$ D$ F$ bilder H:\MeineDaten\Geheim Reports NetUser Telefonbuch F:\Intranet\Anwendungen\Nummern\Privat mitarbeiter mitteilungen Presse SocialMedia So ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing18 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware10 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...