Text in einer Datei suchen und verschieben

Gast #6069385
Guten Abend liebe Gemeinde,

ich stehe hier vor einem Problemchen, ich muss in einer Text-Datei ein 
Wort suchen und um mehrere Zeilen verschieben.

Klar mann kann das mit der Hand machen, aber wenn das sich um sehr viele 
Elemente handelt wird es zu einem Problem!

Weiß jemand wie mann das am besten lösen könnte?

Viele Grüße und einen schönen Abend noch !!!
#6100625
Natürlich kann man so etwas mit dem Notepad (Makro Recorder) machen, 
aber spätestens wenn Du das automatisieren willst, wirst Du mit der 
Definition von:
>>um mehrere Zeilen verschieben.
Probleme bekommen.

Praktisch alle Makros wollen "genau" wissen, was ausgeschnitten werden 
soll und wohin mit dem Ausschnitt. Das kann ein paar Mal gut gehen, aber 
die Ergebnisse können aber auch ausgesprochen Lustig werden.
Dann merkt man schnell, dass die üblichen Suchfunktionen sehr "dumm" 
sind, da sie stur Buchstabenfolgen suchen. Die Suche nach "Laut" findet 
auch "Umlaut" oder Lautstärke und das in jedem Falle, auch wenn Du es so 
nicht gewollt hast. Manchmal erscheint so ein Suchbegriff auch im 
"falschen" Kontext. Hier wird es schnell lustig.
Definitionen wie "mehrere Zeilen" sind schlicht und ergreifend unsinnig. 
So Sachen wie eine Zeile runter ergibt ein völlig anderes Bild, wenn das 
Wort am Zeilenanfang steht wie am Zeilenende. Noch lustiger wird es, 
wenn die Darstellungsroutine dieses Wort eigenmächtig an den 
Zeilenanfang stellt, obwohl es in Wirklichkeit am Zeilenende stand 
(automatischer Zeilenumbruch).

Unter Notepad würde ich das Problem zweiteilen.
Eine einfache Suche mit ctrl+f.
Gucken ob die Umgebung stimmt.
Jetzt weißt Du wo der Cursor steht.
Ab hier einen Makro erstellen, der die restlichen Schritte ausführt.
Und weiter mit manuellem ctrl+f – kontrollieren – ggf. Makro ausführen.
Gast #6100672
>  Die Suche nach "Laut" findet
> auch "Umlaut" oder Lautstärke und das in jedem Falle, auch wenn Du es so
> nicht gewollt hast.

Deswegen nutzt man PCRE[1] und sucht nach r'\WLaut\W' oder 
r'\W[Ll]aut\W'.

> Definitionen wie "mehrere Zeilen" sind schlicht und ergreifend unsinnig.
> So Sachen wie eine Zeile runter ergibt ein völlig anderes Bild, wenn das
> Wort am Zeilenanfang steht wie am Zeilenende.

Deswegen von "Zeilen" verabschieden und Option MULTILINE und/oder DOTALL 
von PCRE verwenden. Nicht dass es dadurch einfach wird, aber doch 
moeglich.


> > Mit Regulären Ausdrücken kann man da sehr, sehr viel machen.
Jap, inklusive eingewachsene Zehennaegel auskurieren

> Innerhalb einer Zeile: Ja.
> Einen Ausdruck um mehrere Zeilen nach unten schieben: Schwierig.

Die Kunst besteht darin, das Suchmuster und das Einfuegemuster getrennt 
ausformulieren.


> Der TO sollte seine Aufgabe präziser formulieren.
> Sonst artet das hier in Spekulation aus.

Ja TO, mach ma' Beispiel. Prosa Text oder synthetischer Text (wie Daten 
oder Quellcode)?


[1] PCRE
  * <https://pcre.org/pcre.txt>;


NB: Editoren ohne (PC)RE sind deren (Zeit-)Ver(sch-)wendung nicht wert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.