compane
Goto Top

wichtige segmente herausfiltern und in eine neue txt schreiben

Hallo zusammen

Ich habe schon mal so eine ähnliche frage gestellt und leider konnte mir keiner helfen face-sad (ich denke mal das ich alles falsch formuliert habe)

Jetzt ist es aber einfacher (glaube ich)

Ich habe eine logdatei für eine Archivierung aber mit den daten kann man nicht richtig arbeit (es fehlt einfach die Übersicht) nun würde ich gerne mit einen suchmuster bestimmte segmente herausfilter und in eine neue txt schreiben

Ablauf wäre dann so:

suche von oben eine zeile mit der zeichenfolge "Archive" und copiere sie in die neue txt datei (mit findstr habe ich das schon bewerkstelligt)
jetzt müsste der suchlauf weitergehen: suche nach einen "." mit drei aufeinander folgenden zeichen also .*
und copiere vom zeilen Anfang inklusive .
* auch in die neue txt und dann geht es weiter bis man wieder auf eine zeichenfolge "Archive" trifft und es geht von vorne los.

Ist dies zu bewerkstelligen, wenn ja könnt ihr mir bitte dabei helfen

logdatei für eine Archivierung:


RAR 3.71 Copyright (c) 1993-2007 Alexander Roshal 20 Sep 2007
Shareware-Version Geben Sie RAR -? fr Hilfe ein.

Archiv c:\20080629230354_backup.rar

Name GrӇe Gepak. Verh. Datum Zeit Attr. CRC Meth Ver
Text1 (1).bak 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (10).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (11).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (12).alf 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (3).dmp 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (4).sav 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (5).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (6).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (7).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (8).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (9).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
text2.cdc 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
12 0 0 0%

Archiv c:\20080629230404_backup.rar

Name GrӇe Gepak. Verh. Datum Zeit Attr. CRC Meth Ver
Text1 (1).bak 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (10).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (11).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (12).alf 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (3).dmp 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (4).sav 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (5).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (6).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (7).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (8).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (9).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
text2.cdc 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
12 0 0 0%

Archiv c:\20080629233529_backup.rar

Name GrӇe Gepak. Verh. Datum Zeit Attr. CRC Meth Ver
Text1 (1).bak 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (10).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (11).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (12).alf 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (3).dmp 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (4).sav 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (5).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (6).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (7).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (8).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (9).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
text2.cdc 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
12 0 0 0%

Archiv c:\20080630120744_backup.rar

Name GrӇe Gepak. Verh. Datum Zeit Attr. CRC Meth Ver
Text1 (1).bak 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (10).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (11).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (12).alf 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (3).dmp 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (4).sav 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (5).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (6).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (7).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (8).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
Text1 (9).txt 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
text2.cdc 0 0 0% 25-06-08 15:54 .....A. 00000000 m0b 2.9
12 0 0 0%

48 0 0 0%


so sollte die neue txt aussehen:

20080629230354_backup
Text1 (1).bak
Text1 (10).txt
Text1 (11).txt
Text1 (12).alf
Text1 (3).dmp
Text1 (4).sav
Text1 (5).txt
Text1 (6).txt
Text1 (7).txt
Text1 (8).txt
Text1 (9).txt
text2.cdc

20080629230404_backup
Text1 (1).bak
Text1 (10).txt
Text1 (11).txt
Text1 (12).alf
Text1 (3).dmp
Text1 (4).sav
Text1 (5).txt
Text1 (6).txt
Text1 (7).txt
Text1 (8).txt
Text1 (9).txt
text2.cdc

usw. .......

Content-Key: 91187

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

Printed on: April 27, 2024 at 02:04 o'clock

Member: Biber
Biber Jul 03, 2008 at 07:12:05 (UTC)
Goto Top
Moin Compane,

ich weiss nicht... nur wegen der besseren Lesbarkeit würde ich da keinen Aufwand reinstecken in eine Logfile-Entschlackung...

Willst du/musst Du denn den Inhalt der Archiv-Inhaltsangaben in irgendeiner Form maschinell verarbeiten - sei es zum Katalogisieren, zum Verteilen oder zum Balkendiagramme mit Schrumpfraten erzeugen?

Vor überzeugender Darlegung einer gegebenen Notwendigkeit sehe ich keinen Aufwand gerechtfertigt, der über einen Oneliner vom CMD-Prompt hinausgeht.

Wenn Deine Input-Datei X:\RarContents.txt heißt
for /f "tokens=1,* delims=.\" %i in ('findstr  /R "\.[a-Z]" "X:\RarContents.txt"') do @For /f "tokens=1,* delims=. " %x in ("%j") do @if [%x] Lss [a] (@echo %x) else @echo %i.%x  
...diese runtergeschrubbelte Zeile liefert:
...
20080629233529_backup
Text1 (1).bak
Text1 (10).txt
Text1 (11).txt
Text1 (12).alf
Text1 (3).dmp
Text1 (4).sav
Text1 (5).txt
Text1 (6).txt
Text1 (7).txt
Text1 (8).txt
Text1 (9).txt
text2.cdc
20080630120744_backup
Text1 (1).bak
Text1 (10).txt
Text1 (11).txt
Text1 (12).alf
Text1 (3).dmp
Text1 (4).sav
Text1 (5).txt
Text1 (6).txt
Text1 (7).txt
Text1 (8).txt
Text1 (9).txt
text2.cdc
....as should do..

Grüße
Biber
Member: Compane
Compane Jul 03, 2008 at 08:57:12 (UTC)
Goto Top
Servus Biber,

es klappt fast super

Das Prob ist das das erste archiv nicht angezeigt wird sondern nur der inhalt und könnte man es auch in eine neu.txt ausgeben lassen!


Der aufwand lohnt sich schon da ich ein Backupsystem erstellen soll.

Per Batch werden Täglich daten gesichert und gezipt! Das Prob ist aber nun jetzt hat man 100 zip`s und man stellt fest das eine datei fehler aufweist und fängt an alle zip`s zu durchsuchen wo die datei drin ist!

Ich habe es nun soweit erstellt das auf html/php basis eine txt in ein array eingelesen wird (zeile für zeile) dieses in eine xml umgewandelt wird und dann gibt man nur noch den namen der Datei in ein Suchfeld ein und schwupps die wupps werden alle archive angezeigt die die Datei enthalten! Und dadurch das es schon ein Intranet gibt sollte ich die suche auch darüber laufen lassen!

Ich denke mal es gibt bestimmt relativ einfachere wege, nur das diese mir wahrscheinlich net eingefallen sind face-sad

Aber naja ich danke dir schon mal

Compane
Member: Compane
Compane Jul 03, 2008 at 14:19:14 (UTC)
Goto Top
Ok habs hinbekommen

Die Batch-datei sieht dann so aus:
for /f "tokens=1,* delims=.\" %%i in ('findstr  /R "\.[a-Z]" "c:\inhalt.txt"') do (  
   For /f "tokens=1,* delims=. " %%x in ("%%j") do (  
       if [%%x] Lss [a] (@echo %%x)>>c:\test.txt else @echo %%i.%%x>>c:\test.txt
))

Und Danke nochmal, hat mir sehr geholfen face-smile

lg Compane