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

Zeilen in .txt Löschen die einen String enthalten

Frage Entwicklung Batch & Shell

Mitglied: axi1992

axi1992 (Level 1) - Jetzt verbinden

01.04.2013 um 13:53 Uhr, 2762 Aufrufe, 5 Kommentare, 1 Danke

Ich möchte Logdatein durchsuchen nur haben die ca. 10 Mio. Zeilen.
Nun Möchte ich manche Zeilen die z.B.: "[debug]" oder "**" enthalten aus der Log Datei entfernen und wenn möglich in eine neue Datei speichern.

Ich habe zwar schon ansätze gefunden nur funktioniert das bei mir leider gar nicht.



@echo on & setlocal
set "Pfad=D:\Downloads"
set "Suche=[debug]"

for /f "delims=" %%i in ('findstr /m /b "%Suche%" "%Pfad%\slog0.txt"') do (
type "%%i">%temp%\all.txt
findstr /b /v "%Suche%" "%temp%\all.txt">%temp%\No#.txt && move %temp%\No#.txt "%%i"
)
del "%temp%\all.txt"
del "%temp%\No#.txt"



Das habe ich ausprobiert, funktioniert leider nicht. Muss auch sagen verstehe den Code leider nicht.
Mitglied: Endoro
01.04.2013 um 14:42 Uhr
Hallo axi1992,

was hälst du davon:
01.
<slog0.txt> newlog.txt findstr /v /l "[debug] **" 
02.
<slog0.txt> exlog.txt findstr /l "[debug] **"
bb
Bitte warten ..
Mitglied: axi1992
01.04.2013 um 14:49 Uhr
Super danke fürs erste:

Leider funktioniert es hier nicht
Zeilen Beispiel:
[01/18/13,16:57:28] [command] [ID: 41] [Name]: /back


<slog0.txt> exlog.txt findstr /l "/back"
Damit bleibt die Datei leer?
Bitte warten ..
Mitglied: rubberman
01.04.2013, aktualisiert um 16:22 Uhr
Hallo axi1992, willkommen im Forum.

Der Slash möchte durch einen Backslash maskiert werden.
findstr /l "\/back"
Warum? Frag mich nicht. Darüber habe ich mir schon mehrfach den Kopf zerbrochen.

Grüße
rubberman
Bitte warten ..
Mitglied: Endoro
01.04.2013, aktualisiert um 20:10 Uhr
Hier "denkt" findstr, die Option "/b" (Zeilenanfang) sei gewählt & meckert über die unbekannten Optionen /a, /c & /k. Kann mit der Option /c: umgangen werden oder so:
01.
<slog0.txt> exlog.txt findstr /l " /back"
Hier werden (natürlich) auch Zeilen gefunden, wo kein <space> vor "/back" steht. Warum die double quotes den slash nicht escapen: kA. Aber findstr hat reichlich bugs & "features".
Bitte warten ..
Mitglied: florengray
02.04.2013 um 14:19 Uhr
Hi!
Ich würde das mit RegEx lösen. Bei 10 Mio Zeilen...

So auf die Schnelle habe ich mal den RegEx Pattern zusammengeschustert:
(?:.*\[debug\].*)\r\n|(?:.*\*{2}.*)\r\n

Mein Testtext ist folgender:
Zeile mit Kram drin
Zeile mit [debug] drin
Zeile mit was anderen
Zeile mit ** und noch mehr Zeichen
Zeile für das Ende

Wenn ich den Testtext in Notepad++ reinkopiere und bei suchen und ersetzen ->
Suchen nach:
01.
(?:.*\[debug\].*)\r\n|(?:.*\*{2}.*)\r\n
Ersetzen durch:
01.
\0
Suchmodus: Reguläre Ausdrücke -> anhacke

und dann auf [Alle Ersetzen] klicke kommt folgendes raus:
Zeile mit Kram drin
Zeile mit was anderen
Zeile für das Ende

Vielleicht nicht perfekt, aber auch ein Ansatz bzw. Versuch wert.

florengray
Bitte warten ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Multimedia
gelöst PDF: Alle Seiten entfernen, welche nicht definierten String enthalten (9)

Frage von MegaGiga zum Thema Multimedia ...

Batch & Shell
gelöst Zeilen in TXT mit Leerzeichen auf eine bestimmte Länge auffüllen (4)

Frage von stingray14k zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst Firtzbox VPN nicht alle Ports erreichbar? (15)

Frage von atarjono zum Thema Router & Routing ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (15)

Frage von ProfessorZ zum Thema Router & Routing ...