Datei nach doppeltem Text durchsuchen auf Grundlage Zeil x
Hallo zusammen,
da mir hier so nett geholfen wurde beim letzten Mal hier nochmals eine Frage an Euch.
Ich habe hier: mehrer Textdateien nach strings durchsuchen und wenn gefunden zeile löschen einen sehr hilfreichen Code gefunden, der auch super funktioniert. Ich brauche nun allerdings eine Lösung, in der der zu suchende Text nicht aus einer neuen Datei kommt, sondern aus der Basisdatei selber.
In Zeile 5 steht ein Text, von dem ich gerne alle vorhandenen Duplikate in der Datei löschen möchte, wobei die Zeile 5 erhalten bleiben soll.
Da es sich um HTML-Dateien handelt und der Suchtext auch Sonderzeichen enthält, habe ich hier noch ein Problem.
Ich hoffe, ich konnte meine Gedankengänge einigermaßen logisch wiedergeben.
LG Hiya
da mir hier so nett geholfen wurde beim letzten Mal hier nochmals eine Frage an Euch.
Ich habe hier: mehrer Textdateien nach strings durchsuchen und wenn gefunden zeile löschen einen sehr hilfreichen Code gefunden, der auch super funktioniert. Ich brauche nun allerdings eine Lösung, in der der zu suchende Text nicht aus einer neuen Datei kommt, sondern aus der Basisdatei selber.
In Zeile 5 steht ein Text, von dem ich gerne alle vorhandenen Duplikate in der Datei löschen möchte, wobei die Zeile 5 erhalten bleiben soll.
Da es sich um HTML-Dateien handelt und der Suchtext auch Sonderzeichen enthält, habe ich hier noch ein Problem.
Ich hoffe, ich konnte meine Gedankengänge einigermaßen logisch wiedergeben.
LG Hiya
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 160652
Url: https://administrator.de/contentid/160652
Ausgedruckt am: 25.11.2024 um 00:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo hiya!
Deshalb würde ich eher auf VBs verweisen.
Also in etwa:
Mathe172
Da es sich um HTML-Dateien handelt und der Suchtext auch Sonderzeichen enthält, habe ich hier noch ein Problem.
Deshalb würde ich eher auf VBs verweisen.
Also in etwa:
- Lies den Text der Datei ein
- Schau was in Zeile 5 steht
- Ersetze alle Vorkommen dieses Textes --> Text.Replace(TextausZeile5,"")
- Ändere Zeile 5 zurück
Mathe172
moin,
Batch würde ich da ausschliessen, denn <> sind nicht nur in HTML Steuerzeichen, sondern auch in "Batch".
Bevor da eine vbs oder andere Lösung von uns kommt - die profilaktischen Gegenfragen:
Gruß
edit @mathe:
- da hab ich wohl zulange zum Tippen gebraucht..
/edit
Batch würde ich da ausschliessen, denn <> sind nicht nur in HTML Steuerzeichen, sondern auch in "Batch".
Bevor da eine vbs oder andere Lösung von uns kommt - die profilaktischen Gegenfragen:
- In Zeile 5 steht ein Textfragment, dass genauso in anderen Zeilen steht, oder die ganze Zeile 5 ist ein Duplikat?
- Ansi oder UTF-8
- Wer erstellt die Datei(en) und kann der die Duplikate nicht selber rausfischen - bzw. warum sind die überhaupt drin?
- Ein Beispiel bis Zeile 5 incl. 1 oder 2 Doubletten, die herausgefischt werden sollten. (gerne in <code> </code> Tags.
Gruß
edit @mathe:
- da hab ich wohl zulange zum Tippen gebraucht..
/edit
Hallo,
@timobeil: als alter Batch Purist würde ich da eine reine Batch Lösung nicht direkt ausschliessen.
Denn die Sonderzeichen bekommt man ganz gut mit DelayedExpansion in den Griff,
allerdings muss man halt dran denken, bei den FOR-Loops, dass die Expansion von %%a immer ohne DelayedExpansion stattfinden sollte,
sonst gibt es Ärger mit den Ausrufezeichen "!" und den Dächern/Carets "^".
Als Basis für das "sichere" bearbeiten, kann man hier schauen Improved BatchSubstitute.bat
Gruß
jeb
@timobeil: als alter Batch Purist würde ich da eine reine Batch Lösung nicht direkt ausschliessen.
Denn die Sonderzeichen bekommt man ganz gut mit DelayedExpansion in den Griff,
allerdings muss man halt dran denken, bei den FOR-Loops, dass die Expansion von %%a immer ohne DelayedExpansion stattfinden sollte,
sonst gibt es Ärger mit den Ausrufezeichen "!" und den Dächern/Carets "^".
Als Basis für das "sichere" bearbeiten, kann man hier schauen Improved BatchSubstitute.bat
Gruß
jeb