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

Textdatei - Unwichtige Textteile löschen - Suchen und Ersetzen (mit DOS, bat, Batch, Tool)

Frage Entwicklung

Mitglied: pc4ever2use

pc4ever2use (Level 1) - Jetzt verbinden

16.10.2013, aktualisiert 23:59 Uhr, 2358 Aufrufe, 3 Kommentare

Hallo. Ich habe eine große Textdatei, die wegen der Größe mit der Notepad.exe nicht zu öffnen ist. Sie enthält wichtige und unwichtige Textteile und ist vereinfacht dargestellt wie folgt aufgebaut:

<spam> Quatsch Quatsch Quatsch Quatsch Quatsch Quatsch Quatsch </spam> <important> Wichtig Wichtig </important> <spam> Unsinn Unsinn Unsinn Unsinn Unsinn </spam> <important> Toll Toll Toll </important> <spam> Quatsch Quatsch Quatsch Quatsch Quatsch Quatsch Quatsch </spam> <important> Sehr Interessant </important> <spam> Bla Bla Bla </spam> <spam> Quatsch Quatsch Quatsch Quatsch Quatsch Quatsch Quatsch </spam> <important> Wichtig Wichtig </important> <spam> Unsinn Unsinn Unsinn Unsinn Unsinn </spam> <important> Toll Toll Toll </important> <spam> Quatsch Quatsch Quatsch Quatsch Quatsch Quatsch Quatsch </spam> <important> Sehr Interessant </important> <spam> Bla Bla Bla </spam>

Wie kann ich die unwichtigen Textteile aus der Datei entfernen und die Wichtigen Textteile untereinander auflisten? Das Ergebnis soll also wie folgt aussehen:

Wichtig Wichtig
Toll Toll Toll
Sehr Interessant
Wichtig Wichtig
Toll Toll Toll
Sehr Interessant


Ich habe es durch Suchen & Ersetzen mit dem Programm TextCrawler und HTML-Kommentaren versucht. Dabei habe ich <spam> durch <!-- ersetzt und <important> durch --><br> ersetzt und das ganze dann im Browser geöffnet. Dazu musste ich die Datei vorher teilen ...sehr kompliziert.

Geht das auch einfacher, mit 1-2 Klicks z.B. mit DOS als .bat / Batch Datei oder mit einem kleinen Tool?

Wichtig ist, dass die Datei auch Sonderzeichen z.B. < { [ enthält!

Danke
Mitglied: bastla
17.10.2013 um 07:55 Uhr
Hallo pc4ever2use und willkommen im Forum!

Lässt sich das reduzieren auf: "Behalte nur Textteile zwischen <important>-Tags und schreibe diese jeweils in eine eigene Zeile"?

Grüße
bastla
Bitte warten ..
Mitglied: pc4ever2use
17.10.2013 um 08:54 Uhr
Ja genau das meinte ich! ...Vielen Dank, dass Du es noch mal zusammengefasst hast.
Bitte warten ..
Mitglied: bastla
17.10.2013 um 15:01 Uhr
Hallo pc4ever2use!

Dann versuch es mal mit folgendem VBScript:
01.
Ein = "D:\Gesamt.txt" 'Quelldatei 
02.
Aus = "D:\Wichtig.txt" 'Zieldatei 
03.
 
04.
Von = "<important>" 'Markierung "Beginn wichtiger Teil" 
05.
Bis = "</important>" 'Markierung "Ende wichtiger Teil" 
06.
 
07.
Set fso = CreateObject("Scripting.FileSystemObject") 
08.
Set DatEin = fso.OpenTextFile(Ein) 
09.
Set DatAus = fso.CreateTextFile(Aus) 
10.
LVon = Len(Von) 'Länge nur einmal (vor der Schleife) ermitteln 
11.
LBis = Len(Bis) 'Länge nur einmal (vor der Schleife) ermitteln 
12.
 
13.
Do Until DatEin.AtEndOfStream 'alle Zeilen der Quelldatei durchlaufen 
14.
    Zeile = DatEin.ReadLine 'Zeile einlesen 
15.
    PosVon = InStr(Zeile, Von) 'Startposition des "wichtigen Teils" ermitteln 
16.
    Do While PosVon <> 0 'solange es "wichtige Teile" gibt 
17.
        Zeile = Mid(Zeile, PosVon + LVon) 'unwichtigen Teil am Zeilenanfang und Von-Tag entfernen 
18.
        PosBis = InStr(Zeile, Bis) 'Endposition des "wcihtigen Teils" ermitteln 
19.
        If PosBis = 0 Then 'wenn keine Endposition gefunden, gesamten Zeilenrest verwenden 
20.
            DatAus.WriteLine Trim(Zeile) '"wichtigen Teil" in Datei schreiben 
21.
        Else 
22.
            DatAus.WriteLine Trim(Left(Zeile, PosBis - 1)) ''"wichtigen Teil" ermitteln und in Datei schreiben 
23.
            Zeile = Mid(Zeile, PosBis + LBis) 'unwichtigen Teil am Zeilenanfang und Bis-Tag entfernen 
24.
        End If 
25.
        PosVon = InStr(Zeile, Von) ''Startposition des (nächsten) "wichtigen Teils" ermitteln 
26.
    Loop 
27.
Loop
Annahme: Es können sich mehrere "wichtige Teile" in einer Zeile befinden, aber kein "wichtiger Teil" ist durch eine Zeilenschaltung unterbrochen.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
Batch & Shell
Suchen, Ersetzen und Entfernen von Dateiinhalten auf Textbasis (1)

Frage von DanteManor zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Batch & Shell
gelöst Poweshell Script soll String ersetzen und die leere Zeile löschen (4)

Frage von Mars123 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...