Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Zeichenfolge in Folgezeile auslesen

Frage Entwicklung Batch & Shell

Mitglied: markus-tausendfreund

markus-tausendfreund (Level 1) - Jetzt verbinden

02.07.2009, aktualisiert 18.10.2012, 3054 Aufrufe, 2 Kommentare

Hallo liebe Mitstreiter,

wiedereinmal wende ich mich an die BrainBugs dieses Forums um mir weiterhelfen zu lassen.

Ich habe ein Addon zu meinem Artikel Textzeile mit 2 Parametern auswerten. In meinem letzen Artikel habe ich mich darauf berufen eine Zeile auszulesen. Dieses mal würde ich mein Script weiter verfeinern um eine detailiertere Auswertung zu ermöglichen.

Das Textfile setzt sich aus folgenden Zeilen zusammen:

20090702 06:01:07:034 - 05300 - INF DbUpdateAddress(customer:I21:I266736):the address 2192 is 5, updating
20090702 06:01:07:034 - 05300 - ERR Unexpected result:VO in address adrId:2192 customerId:I21:I266736 in CSM_NF, not updated
20090702 06:01:07:034 - 05300 - INF DbUpdateAddress(customer:I21:I276067):the address 2260 is 7, updating
20090702 06:01:07:034 - 05300 - ERR Unexpected result:VO in address adrId:2260 customerId:I21:I276067 in CSM_NF, not updated
20090702 06:01:07:050 - 05300 - INF DbUpdateAddress(customer:I21:I276523):the address 2294 is 16, updating
20090702 06:01:07:050 - 05300 - INF Reset adr_imp_timestamp for address adrId:2294 customerId:I21:I276523 in CSM_NF
20090702 06:01:07:065 - 05300 - INF Updated address data adrId:2294 customerId:I21:I276523 in CSM_NF
20090702 06:01:07:112 - 05300 - INF DbUpdateAddress(customer:I21:I293095):the address 2368 is 16, updating
20090702 06:01:07:112 - 05300 - INF Reset adr_imp_timestamp for address adrId:2368 customerId:I21:I293095 in CSM_NF
20090702 06:01:07:112 - 05300 - INF Updated address data adrId:2368 customerId:I21:I293095 in CSM_NF
20090702 06:01:07:190 - 05300 - INF DbUpdateAddress(customer:I21:I296258):the address 2786 is 7, updating
20090702 06:01:07:190 - 05300 - INF Reset adr_imp_timestamp for address adrId:2786 customerId:I21:I296258 in CSM_NF
20090702 06:01:07:190 - 05300 - INF Updated address data adrId:2786 customerId:I21:I296258 in CSM_NF
20090702 06:01:07:237 - 05300 - INF DbUpdateAddress(customer:I21:I304683):the address 2468 is 16, updating
20090702 06:08:23:004 - 05300 - INF Inserted address adrId:471136 customerId:I21:I498510 in CSM
20090702 06:08:23:113 - 05300 - INF Inserted address adrId:471137 customerId:I21:I498511 in CSM
20090702 06:08:23:207 - 05300 - INF Inserted address adrId:471138 customerId:I21:I498512 in CSM
20090702 06:08:23:316 - 05300 - INF Inserted address adrId:471139 customerId:I21:I498513 in CSM
20090702 06:08:23:426 - 05300 - INF Inserted address adrId:471140 customerId:I21:I498514 in CSM
20090702 06:08:23:519 - 05300 - INF Reset adr_imp_timestamp for address adrId:470704 customerId:I21:I498515 in CSM
20090702 06:08:23:519 - 05300 - INF Updated address data adrId:470704 customerId:I21:I498515 in CSM


01.
@echo off & setlocal  
02.
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set Datum=%%c%%b%%a 
03.
set "Quelle=O:\Programme\DM\Log\import" 
04.
set "nfins=0" 
05.
set "nfres=0" 
06.
 
07.
dir O:\Programme\DM\Log\import\import*.log 
08.
Set /p "NRA=ImportNr [000XX] :" 
09.
Set /p "NRB=ImportNr [000XX] :" 
10.
 
11.
for /f "delims=" %%s in ('dir /b /od "%Quelle%\import%NRA%.log"') do call :ProcessFile "%Quelle%\%%s" 
12.
:ProcessFile 
13.
for /f "delims=" %%c in ('findstr /c:"Inserted " %1 ^|findstr /e "CSM_NF"') do (set /a nfins+=1) 
14.
for /f "delims=" %%c in ('findstr /c:"Reset " %1 ^|findstr /e "CSM_NF"') do (set /a nfres+=1) 
15.
 
16.
for /f "delims=" %%s in ('dir /b /od "%Quelle%\import%NRB%.log"') do call :ProcessFile2 "%Quelle%\%%s" 
17.
:ProcessFile2 
18.
for /f "delims=" %%c in ('findstr /c:"Inserted " %1 ^|findstr /e "CSM_NF"') do (set /a nfins+=1) 
19.
for /f "delims=" %%c in ('findstr /c:"Reset " %1 ^|findstr /e "CSM_NF"') do (set /a nfres+=1) 
20.
 
21.
echo CSM_NF 
22.
echo updated: %nfins% 
23.
echo inserted: %nfres%
Meine Fragen:

1) Da ich nicht weiß wieviele Importdateien erstellt wurden würde ich zum einen gerne alle Importfiles auslesen die datum heute sind nacheinander. Und dies nicht wie im BSP oben manuell erfassen müssen.

Neu importiere Adressen zählen stellt kein Problem dar.
20090702 06:08:23:207 - 05300 - INF Inserted address adrId:471138 customerId:I21:I498512 in CSM

Die Adressen die einen Reset erfahren werden auch schon gezählt.
20090702 06:01:07:190 - 05300 - INF Reset adr_imp_timestamp for address adrId:2786 customerId:I21:I296258 in CSM_NF
20090702 06:01:07:190 - 05300 - INF Updated address data adrId:2786 customerId:I21:I296258 in CSM_NF


2) Ich möchte im Falle eines "DbUpdateAddress" alle Fälle zählen die z.B. den Status "is 7, " haben und sie einem Typ zu zuordnen der in Zeile 2 steht "CSM" oder "CSM_NF", zum anderen zählen wieviel davon einen Felher "ERR" enthalten und nicht eingelesen werden konnten ",not updated"

20090702 06:01:07:034 - 05300 - INF DbUpdateAddress(customer:I21:I276067):the address 2260 is 7, updating
20090702 06:01:07:034 - 05300 - ERR Unexpected result:VO in address adrId:2260 customerId:I21:I276067 in CSM_NF, not updated

Der Status kann den Wert "1" bis "22" haben.

Ich bin mir nicht sicher ob sich das ganz so wie gewünscht realisieren lässt.
Ich bedanke mich im Voraus für eure Hilfe
Gruß
Markus
Mitglied: LotPings
02.07.2009, aktualisiert 18.10.2012
Der Link ist verkehrt,
richtig wäre Textzeile mit 2 Parametern auswerten,
dein Vorttrag ist sehr lang und deine Frage setzt intensives Lesen des gesamten Kontextes und mehr voraus.

Ich glaube du legst die Latte für Antworten etwas zu hoch .

Vielleicht liest du mal Divide et impera

Gruß
LotPings
Bitte warten ..
Mitglied: markus-tausendfreund
23.07.2009 um 16:27 Uhr
Ich werde den Beitrag erstmal als gelöst betrachten. Wenn sich einer dazu berufen fühlt die Lösung auszuarbeiten, kann er sich gerne bei mir melden.

Ich danke allen die meine Anfrage gelesen haben.
Gruß
Markus
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Batch & Shell
gelöst Appx aus Image auslesen und entfernen (9)

Frage von Markus2016 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...