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 auswerten und bestimmte Daten in neue Datei schreiben

Frage Entwicklung Batch & Shell

Mitglied: Mikefield

Mikefield (Level 1) - Jetzt verbinden

14.04.2010 um 21:12 Uhr, 4087 Aufrufe, 5 Kommentare

Grober Ansatz vorhanden, aber es geht bestimmt besser

Hallo zusammen! Ich lasse täglich jede Stunde einen Report in eine Datei schreiben. Die neuen Daten werden angehängt.
Nun muß ich die Uhrzeit des Reports und einen bestimmten Wert exportieren und in eine neue Datei schreiben.

Die Rohdaten sehen so auszugsweise so aus, habe jetzt nicht alle 24h genommen:

01.
2010-04-14  10:00 AM  -  Report for  
02.
 
03.
G3xV13	330	669	999	233	2767	3000	18685	231315	250000	2643	17357	20000	297	20703	21000	529	9471	10000	10	7990	8000	0	28	28	0	300	300	0	15675	15928	0	90000	90000	912	2077	3000	2858	37142	40000	379	221	600	389	123	512	2	998	1000	209	9790	9999	131	4869	5000	15424	559	19441	20000	0	1800	1800	0	0	0	199	1801	2000	0	2000	2000	0	2560	2560	0	5	5	0	128	128	0	1250	1250	6003	43730	49733	1337	25171	26508	5	79995	80000	41	7459	7500	26	38	64	253	15675	15928	437	1563	2000	1839	18161	20000	5502	174498	180000	1011	1058	2069	0	0	0	0	2069	2069	3436	56564	60000	2973	57027	60000	3	11997	12000	0	15675	15928	0	256	256	0	63	63	0	200	200	0	1000	1000	2717	283	3000	10	0	10	14	236	250	0	128	128	20	108	128	0	250	250	0	999	999	64	336	400	0	400	400	0	9999	9999	0	200	200	61	1939	2000	1721	6279	8000	0	8000	8000	0	8000	8000	0	1000	1000	0	0	0	6	94	17496000	0	100	100000	4630	30811	36000	738	188	2790	2591	199	1840	926	0	5000	5000	487	0	0	0	0	0	0	60	6940	7000	4512	39488	44000	2791	445	3236	0	500	500	0	0	0	0	0	0	0	0	0	0	0	0	1	4	5	0	0	0	0	0	0	0	100	972000	84	11916	12000	0	0	0	0	0	12000	12000	0	0	0	AgentSC		0	1255	1255	IP_API_A		84	30	114	IP_API_B		0	10	10	IP_Agent	6	0	3	3	IP_Phone		0	12000	12000	IP_ROMax		0	12000	12000	IP_Soft		0	5	5	oneX_Comm		0	12000	12000																																																																																																															R013x.01.2.632.1	G3xV13	A	R013x.01.2.632.1	G3x(large)	A 
04.
 
05.
2010-04-14  11:00 AM  -  Data Export 
06.
 
07.
2010-04-14  11:00 AM  -  Report for  
08.
 
09.
G3xV13	330	669	999	233	2767	3000	18685	231315	250000	2643	17357	20000	297	20703	21000	529	9471	10000	10	7990	8000	0	28	28	0	300	300	0	15675	15928	0	90000	90000	923	2077	3000	2858	37142	40000	379	221	600	389	123	512	2	998	1000	209	9790	9999	131	4869	5000	15424	559	19441	20000	0	1800	1800	0	0	0	199	1801	2000	0	2000	2000	0	2560	2560	0	5	5	0	128	128	0	1250	1250	6003	43730	49733	1337	25171	26508	5	79995	80000	41	7459	7500	26	38	64	253	15675	15928	437	1563	2000	1839	18161	20000	5502	174498	180000	1011	1058	2069	0	0	0	0	2069	2069	3436	56564	60000	2973	57027	60000	3	11997	12000	0	15675	15928	0	256	256	0	63	63	0	200	200	0	1000	1000	2717	283	3000	10	0	10	14	236	250	0	128	128	20	108	128	0	250	250	0	999	999	64	336	400	0	400	400	0	9999	9999	0	200	200	61	1939	2000	1721	6279	8000	0	8000	8000	0	8000	8000	0	1000	1000	0	0	0	6	94	17496000	0	100	100000	4630	30811	36000	738	188	2790	2591	199	1840	926	0	5000	5000	487	0	0	0	0	0	0	60	6940	7000	4512	39488	44000	2791	445	3236	0	500	500	0	0	0	0	0	0	0	0	0	0	0	0	1	4	5	0	0	0	0	0	0	0	100	972000	84	11916	12000	0	0	0	0	0	12000	12000	0	0	0	AgentSC		0	1255	1255	IP_API_A		84	30	114	IP_API_B		0	10	10	IP_Agent	6	0	3	3	IP_Phone		0	12000	12000	IP_ROMax		0	12000	12000	IP_Soft		0	5	5	oneX_Comm		0	12000	12000																																																																																																															R013x.01.2.632.1	G3xV13	A	R013x.01.2.632.1	G3x(large)	A 
10.
 
11.
2010-04-14  0:00 PM  -  Data Export 
12.
 
13.
2010-04-14  0:00 PM  -  Report for  
14.
 
15.
G3xV13	330	669	999	233	2767	3000	18685	231315	250000	2643	17357	20000	293	20707	21000	529	9471	10000	8	7992	8000	0	28	28	0	300	300	0	15675	15928	0	90000	90000	892	2108	3000	2798	37202	40000	379	221	600	389	123	512	2	998	1000	209	9790	9999	131	4869	5000	15424	559	19441	20000	0	1800	1800	0	0	0	199	1801	2000	0	2000	2000	0	2560	2560	0	5	5	0	128	128	0	1250	1250	6003	43730	49733	1337	25171	26508	5	79995	80000	41	7459	7500	26	38	64	253	15675	15928	437	1563	2000	1839	18161	20000	5502	174498	180000	980	1089	2069	0	0	0	0	2069	2069	3351	56649	60000	2905	57095	60000	2	11998	12000	0	15675	15928	0	256	256	0	63	63	0	200	200	0	1000	1000	2717	283	3000	10	0	10	14	236	250	0	128	128	20	108	128	0	250	250	0	999	999	64	336	400	0	400	400	0	9999	9999	0	200	200	61	1939	2000	1721	6279	8000	0	8000	8000	0	8000	8000	0	1000	1000	0	0	0	6	94	17496000	0	100	100000	4630	30811	36000	738	188	2790	2591	199	1840	926	0	5000	5000	487	0	0	0	0	0	0	60	6940	7000	4512	39488	44000	2791	445	3236	0	500	500	0	0	0	0	0	0	0	0	0	0	0	0	1	4	5	0	0	0	0	0	0	0	100	972000	84	11916	12000	0	0	0	0	0	12000	12000	0	0	0	AgentSC		0	1255	1255	IP_API_A		84	30	114	IP_API_B		0	10	10	IP_Agent	6	0	3	3	IP_Phone		0	12000	12000	IP_ROMax		0	12000	12000	IP_Soft		0	5	5	oneX_Comm		0	12000	12000																																																																																																															R013x.01.2.632.1	G3xV13	A	R013x.01.2.632.1	G3x(large)	A 
16.
 
17.
2010-04-14  1:00 PM  -  Data Export 
18.
 
19.
2010-04-14  1:00 PM  -  Report for  
20.
 
21.
G3xV13	330	669	999	233	2767	3000	18685	231315	250000	2643	17357	20000	280	20720	21000	529	9471	10000	9	7991	8000	0	28	28	0	300	300	0	15675	15928	0	90000	90000	805	2195	3000	2559	37441	40000	379	221	600	389	123	512	2	998	1000	209	9790	9999	131	4869	5000	15424	559	19441	20000	0	1800	1800	0	0	0	199	1801	2000	0	2000	2000	0	2560	2560	0	5	5	0	128	128	0	1250	1250	6002	43731	49733	1337	25171	26508	5	79995	80000	41	7459	7500	26	38	64	253	15675	15928	437	1563	2000	1838	18162	20000	5499	174501	180000	889	1180	2069	0	0	0	0	2069	2069	3003	56997	60000	2632	57368	60000	6	11994	12000	0	15675	15928	0	256	256	0	63	63	0	200	200	0	1000	1000	2717	283	3000	10	0	10	14	236	250	0	128	128	20	108	128	0	250	250	0	999	999	64	336	400	0	400	400	0	9999	9999	0	200	200	61	1939	2000	1721	6279	8000	0	8000	8000	0	8000	8000	0	1000	1000	0	0	0	6	94	17496000	0	100	100000	4629	30812	36000	738	188	2790	2591	199	1839	926	0	5000	5000	487	0	0	0	0	0	0	60	6940	7000	4512	39488	44000	2791	445	3236	0	500	500	0	0	0	0	0	0	0	0	0	0	0	0	1	4	5	0	0	0	0	0	0	0	100	972000	84	11916	12000	0	0	0	0	0	12000	12000	0	0	0	AgentSC		0	1255	1255	IP_API_A		84	30	114	IP_API_B		0	10	10	IP_Agent	6	0	3	3	IP_Phone		0	12000	12000	IP_ROMax		0	12000	12000	IP_Soft		0	5	5	oneX_Comm		0	12000	12000																																																																																																															R013x.01.2.632.1	G3xV13	A	R013x.01.2.632.1	G3x(large)	A 
22.
 
23.
2010-04-14  2:00 PM  -  Data Export 
24.
 
25.
2010-04-14  2:00 PM  -  Report for  
26.
 
27.
G3xV13	330	669	999	233	2767	3000	18685	231315	250000	2643	17357	20000	280	20720	21000	529	9471	10000	9	7991	8000	0	28	28	0	300	300	0	15675	15928	0	90000	90000	828	2172	3000	2610	37390	40000	379	221	600	389	123	512	2	998	1000	209	9790	9999	131	4869	5000	15424	559	19441	20000	0	1800	1800	0	0	0	199	1801	2000	0	2000	2000	0	2560	2560	0	5	5	0	128	128	0	1250	1250	6002	43731	49733	1337	25171	26508	5	79995	80000	41	7459	7500	26	38	64	253	15675	15928	437	1563	2000	1838	18162	20000	5499	174501	180000	910	1159	2069	0	0	0	0	2069	2069	3086	56914	60000	2696	57304	60000	16	11984	12000	0	15675	15928	0	256	256	0	63	63	0	200	200	0	1000	1000	2717	283	3000	10	0	10	14	236	250	0	128	128	20	108	128	0	250	250	0	999	999	64	336	400	0	400	400	0	9999	9999	0	200	200	61	1939	2000	1721	6279	8000	0	8000	8000	0	8000	8000	0	1000	1000	0	0	0	6	94	17496000	0	100	100000	4629	30812	36000	738	188	2790	2591	199	1839	926	0	5000	5000	487	0	0	0	0	0	0	60	6940	7000	4512	39488	44000	2791	445	3236	0	500	500	0	0	0	0	0	0	0	0	0	0	0	0	1	4	5	0	0	0	0	0	0	0	100	972000	84	11916	12000	0	0	0	0	0	12000	12000	0	0	0	AgentSC		0	1255	1255	IP_API_A		84	30	114	IP_API_B		0	10	10	IP_Agent	6	0	3	3	IP_Phone		0	12000	12000	IP_ROMax		0	12000	12000	IP_Soft		0	5	5	oneX_Comm		0	12000	12000																																																																																																															R013x.01.2.632.1	G3xV13	A	R013x.01.2.632.1	G3x(large)	A

Hier mein grobes Konzept, das ich aus anderen Scripten genommen habe. Was fehlt ist eine Schleife zum auslesen ab Zeile 4 .
Man müßte dann immer 7 Zeilen hoch zählen. Könnt Ihr mir da helfen?

01.
@echo off & setlocal enabledelayedexpansion 
02.
 
03.
set Line=2 
04.
 
05.
:ProcessCall 
06.
 
07.
for /f "usebackq delims=" %%b in (Report.txt) do if not defined Zeile set "Zeile=%%b" 
08.
    call :ProcessLine1 "!Zeile!" 
09.
 
10.
    set Zeile= 
11.
    for /f "usebackq skip=%line% delims=" %%b in (Report.txt) do if not defined Zeile set "Zeile=%%b" 
12.
    call :ProcessLine2 !Zeile! 
13.
14.
 
15.
goto :eof  
16.
 
17.
REM  ---------------------------------------------------------------------------- 
18.
:ProcessLine1 
19.
REM Uhrzeit auslesen  
20.
for /f "eol=: tokens=1-5 delims=: " %%i in (%1) do set "Uhrzeit=%%j %%k %%l" 
21.
goto :eof 
22.
 
23.
REM  ---------------------------------------------------------------------------- 
24.
:ProcessLine2 
25.
REM Wert auslesen 
26.
for /L %%i in (1,1,34) do shift 
27.
set "Anzahl=%~1" 
28.
 
29.
REM  ---------------------------------------------------------------------------- 
30.
:Write 
31.
 
32.
rem >>"%XPfad%\%Load%"  
33.
>> Auszug.txt echo %Uhrzeit%	%Anzahl% 
34.
goto :eof
Danke im voraus

mf
Mitglied: bastla
14.04.2010 um 22:12 Uhr
Hallo Mikefield!

Ich würde es ziemlich ähnlich versuchen, allerdings auf den Abstand von jeweiils 2 Zeilen zwischen der "Report for"-Zeile und den Daten setzen:
01.
@echo off & setlocal 
02.
set "Ein=D:\Logfile.txt" 
03.
set "Aus=D:\Auszug.txt" 
04.
 
05.
del "%Aus%" 2>nul 
06.
for /f "tokens=1-5 delims=: " %%a in ('findstr /n /c:"M  -  Report for" "%Ein%"') do ( 
07.
    set "Uhrzeit= %%c:%%d %%e" 
08.
    set /a Line=%%a+1 
09.
    call :ProcessLine1 
10.
11.
goto :eof 
12.
 
13.
:ProcessLine1 
14.
set Zeile= 
15.
for /f "usebackq skip=%Line% delims=" %%i in ("%Ein%") do if not defined Zeile set "Zeile=%%i" 
16.
call :ProcessLine2 %Zeile% 
17.
goto :eof 
18.
 
19.
:ProcessLine2 
20.
for /L %%i in (1,1,34) do shift 
21.
set "Anzahl=%1" 
22.
>>"%Aus%" echo %Uhrzeit:~-8% %Anzahl%  
23.
goto :eof
Soferne die Anzahl tatsächlich nur ausgegeben werden soll, könnte noch die Zuweisung zur Variablen eingespart und aus den Zeilen 21 und 22
>>"%Aus%" echo %Uhrzeit:~-8% %1
gemacht werden.

Grüße
bastla
Bitte warten ..
Mitglied: Mikefield
15.04.2010 um 09:37 Uhr
Hat wunderbar funktioniert! Besten Dank. Die Umwandlung in 24h Uhrzeit bekomme ich dann hin.

Aber eine Frage habe ich noch: Wie kann man gerade und ungerade Zahlen auswerten?
Also wenn Zahl x gerade dann Parameter auf 2 und wenn ungerade dann auf 1 setzen.

mf
Bitte warten ..
Mitglied: bastla
15.04.2010 um 10:42 Uhr
Hallo Mikefield!
Wie kann man gerade und ungerade Zahlen auswerten?
Dafür würde ich einfach die letzte Stelle der Zahl prüfen, etwa:
echo %Zahl:~-1%|findstr "0 2 4 6 8">nul && set Param=2 || set Param=1
Grüße
bastla
Bitte warten ..
Mitglied: Mikefield
16.04.2010 um 22:23 Uhr
Hallo Bastler,

das ist ja einfacher als gedacht! Danke.

Ich wußte, das ich irgendwo eine andere Lösung hatte, hatte es die ganze Zeit gesucht, aber nicht gefunden.
Hier aber, war in einer dunklen Ecke der HD zu Hause versteckt (bin die Woche über auf "Montage"), eine Alternative:

01.
SET /A "GeradeUngerade=NUMBER %% 2" 
02.
IF %GeradeUngerade%==0 set "GU=0" & GOTO Ausgabe 
03.
IF %GeradeUngerade%==1 set "GU=1" & GOTO Ausgabe
mf
Bitte warten ..
Mitglied: bastla
17.04.2010 um 08:00 Uhr
Hallo Mikefield!

Das wäre die "klassische" Vorgangsweise ...

Noch eine Anmerkung: Eigentlich ließe sich das Ganze auf eine Zeile reduzieren:
SET /A "GU=NUMBER %% 2" & GOTO Ausgabe
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Bestimmte Zeile aus mehreren Dateien in eine neue Datei schreiben
gelöst Frage von Oggy76Batch & Shell5 Kommentare

Hallo zusammen, meine Kenntnisse in Sachen batch/shell sind ehr auf Anfängerniveau zu sehen. Grund -basics im CMD-Prompt sind vorhanden, ...

Batch & Shell
Ab einen bestimmten Suchbegriff alles in eine neue Datei schreiben mittels Dos Batch
Frage von tommhiiBatch & Shell4 Kommentare

Hallo ich habe folgendes vor ich habe ein große Txt Datei da möchte ich nur die Abschluß Statistik auslesen ...

Batch & Shell
Text Datei bestimmte Bereiche lesen und in neue Text schreiben
gelöst Frage von TurboDBatch & Shell3 Kommentare

Hallo @ all, bin neu hier und habe sehr wenig Erfahrung mit batch Skripten. Ich würde mich sehr freuen ...

Batch & Shell
CSV Dateien auswerten mit Script
gelöst Frage von Crank69Batch & Shell8 Kommentare

Hallo Leute, habe ein Problem und hoffe ihr könnt mir helfen. Ich hoffe das die Bilder helfen bei meinem ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 4 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 5 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 12 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server14 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...