Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

File durchsuchen, kopieren und danach weiter suchen

Frage Entwicklung Batch & Shell

Mitglied: cookie

cookie (Level 1) - Jetzt verbinden

11.09.2007, aktualisiert 12.09.2007, 4121 Aufrufe, 4 Kommentare

Hallo zusammen.

Ich möchte aus Logfiles (teilweise über eine Million Zeilen gross) einen Wert suchen, in eine neue Textdatei kopieren danach weiter suchen.

Der wert sieht z.B so aus: CopiesCompleted="39"

Wobei sich die Zahl dahinter immer ändert. Genau diese Zahl benötige ich aber für eine Verrechnung. Nun meine Frage, ist es möglich das TextFile PCNAME.txt nach dem Wert CopiesCompleted= zu durchsuchen, die Zahl dahinter zu kopieren, danach im Textfile weitersuchen und gleich aufaddieren? So das zum schluss nur noch angezeigt wird CopiesCompleted=5201 oder so in etwa.

Vielen dank.

Gruss
Cookie
Mitglied: Logan000
11.09.2007 um 14:32 Uhr
per vbSkript solte das in etwa so gehen:
01.
Const szSuch = "text" ' Such test 
02.
 
03.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
04.
Set objSourceFile = objFSO.OpenTextFile("Source.txt", 1)	' Quelldatei öffnen 
05.
Set objDestFile = objFSO.CreateTextFile("Dest.txt", True)	' Zieldatei anlegen / überschreiben 
06.
 
07.
	Do Until objSourceFile.AtEndOfStream 	' Gesammtes TextDok durchgehen 
08.
		szNextLine = objSourceFile.Readline	' Zeile aus Quelldatei einlesen 
09.
		if instr(szNextLine,szSuch) Then	' Wenn Suchtest vorhanden 
10.
			objDestFile.writeline szNextLine '  Zeile in Zieldatei schreiben 
11.
		end if		 
12.
	Loop
Das aufaddieren fehlt. Aber ich hoffe, es ist immerhin ein Anfang.

[Edit Biber] Formatierung auf < code > gesetzt. [/Edit]
Bitte warten ..
Mitglied: bastla
11.09.2007 um 17:50 Uhr
Hallo Cookie!

Wenn Du tatsächlich nur die Gesamtsumme benötigst, sollte eigentlich folgendes reichen:
01.
@echo off & setlocal 
02.
for /f "tokens=2 delims==" %%i in ('findstr "CopiesCompleted=" Source.txt') do set /a Anzahl+=%%i >nul 
03.
echo CopiesCompleted=%Anzahl%
Grüße
bastla
Bitte warten ..
Mitglied: bastla
11.09.2007 um 18:12 Uhr
... und das (geringfügig ergänzte) Script von Logan000 schreibt auch noch vorweg die gefundenen Zeilen in die Zieldatei:
01.
Const szSuch = "CopiesCompleted=" 'Suchtext 
02.
iRelPos = Len(szSuch) + 1 'relative Position (bezogen auf den Beginn des Suchtextes) der gesuchten Zahl 
03.
 
04.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
05.
Set objSourceFile = objFSO.OpenTextFile("Source.txt", 1) 'Quelldatei öffnen 
06.
Set objDestFile = objFSO.CreateTextFile("Dest.txt", True) 'Zieldatei anlegen / überschreiben 
07.
 
08.
lSumme = 0 
09.
Do Until objSourceFile.AtEndOfStream 'gesamtes TextDok durchgehen 
10.
	szNextLine = objSourceFile.Readline 'Zeile aus Quelldatei einlesen 
11.
	iPos = InStr(szNextLine, szSuch) 'Position des Suchtextes feststellen 
12.
	If iPos Then ' Wenn Suchtext vorhanden 
13.
		iStart = iPos + iRelPos 'Starposition der gesuchten Zahl berechnen 
14.
		iEnd = InStr(iStart, szNextLine, Chr(34)) 'schließendes Anführungszeichen suchen 
15.
		If iEnd Then 'wenn gefunden, Zeile verwertbar 
16.
			objDestFile.WriteLine szNextLine 'Zeile in Zieldatei schreiben 
17.
			'Text ab Startposition bis vor Endposition in Zahl umwandeln und aufsummieren 
18.
			lSumme = lSumme + CLng(Mid(szNextLine, iStart, iEnd - iStart)) 
19.
		End If 
20.
	End If 
21.
Loop 
22.
 
23.
objDestFile.WriteLine 'Leerzeile in Zieldatei schreiben 
24.
objDestFile.Write szSuch & CStr(lSumme) 'Summe in Zieldatei schreiben (ohne abschließende Zeilenschaltung) 
25.
objDestFile.Close
Grüße
bastla
Bitte warten ..
Mitglied: cookie
12.09.2007 um 15:07 Uhr
Vielen dank bastla.

wie immer, einfach nur genial

gruss
cookie
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(2)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (16)

Frage von Lynkon zum Thema TK-Netze & Geräte ...