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, 2895 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 ..
Ähnliche Inhalte
Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (20)

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

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

Linux Desktop
KDE Slimbook (11)

Link von Frank zum Thema Linux Desktop ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

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