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, 3064 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 ..
Ähnliche Inhalte
Festplatten, SSD, Raid
gelöst Windows 7 Pro x64 Key aus einer (fast) kaputten HDD auslesen (7)

Frage von carbon1X zum Thema Festplatten, SSD, Raid ...

Batch & Shell
gelöst Zeiten in .txt datei auslesen und Differenz berechnen (14)

Frage von meex87 zum Thema Batch & Shell ...

Batch & Shell
Dateigröße und Änderungsdatum auslesen (6)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
gelöst Problem Auslesen einer Internetseite mit Powershell (11)

Frage von c20082005 zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(12)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...