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, 2372 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
Off Topic

"Ich habe nichts zu verbergen"

(3)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Suchen ersetzen mit Sonderzeichen (2)

Frage von GNLen1 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 ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Erkennung und -Abwehr
Virenschutz - Meinungen (17)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (16)

Frage von MarkusVH zum Thema Windows 10 ...

Netzwerke
Abisolierwerkzeug (11)

Frage von SarekHL zum Thema Netzwerke ...