florianhe
Goto Top

Zeilenumbruch vor regex

hallo. ich habe eine TXT Datei in der Zeilenumbrüche eingefügt werden müssen
die regex dazu sieht so aus:

[A-Z]\d\d\d\d\d\s\s

wie stelle ich das am besten an das einfach vor jedem vorkommen das der Regex entspricht ein Zeilenumbruch eingefügt wird?

Ich hatte eig. gehofft das man das mit notepad++ hinbekommt. aber irgendwie geht das nicht.

kann mir jemand helfen ?

so ist ein teil der ausgangsdatei

F01002               Softwarefehler intern
Quittierung:         SOFORT
F01003                 Quittungsverzug bei Speicherzugriff
Meldungswert:          %1
Antriebsobjekt:        Alle Objekte
Reaktion:              AUS2
Quittierung:           SOFORT
Ursache:               Zugriff auf einen Speicherbereich, der kein "READY" zurückliefert.  
                       Störwert (r0949, hexadezimal interpretieren):
                       Nur für Siemens-interne Fehlerdiagnose.
Abhilfe:               - POWER ON bei allen Komponenten durchführen (Aus-/Einschalten).
                       - Hotline kontaktieren.
N01004 (F, A)          Softwarefehler intern

und so muss die datei danach aussehen

F01002               Softwarefehler intern
Quittierung:         SOFORT

F01003                 Quittungsverzug bei Speicherzugriff
Meldungswert:          %1
Antriebsobjekt:        Alle Objekte
Reaktion:              AUS2
Quittierung:           SOFORT
Ursache:               Zugriff auf einen Speicherbereich, der kein "READY" zurückliefert.  
                       Störwert (r0949, hexadezimal interpretieren):
                       Nur für Siemens-interne Fehlerdiagnose.
Abhilfe:               - POWER ON bei allen Komponenten durchführen (Aus-/Einschalten).
                       - Hotline kontaktieren.
N01004 (F, A)          Softwarefehler intern

Content-ID: 648551

Url: https://administrator.de/contentid/648551

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

GNULinux
GNULinux 05.02.2021 um 17:43:03 Uhr
Goto Top
Wenn du Linux hast ist das mit sed kein Problem. Da du kein Beispiel angegeben hast, hier mal ein simples:
echo "ABC" > /tmp/data.txt  
Mit sed nun eine Gruppe um dein Pattern, dann kannst du im Ersetzen-Teil mittels \1 darauf zurückgreifen und ganz einfach etwas davor einfügen:
sed -E 's/([A-Z])/\n\1/g' /tmp/data.txt  

A
B
C
Das kannst du mit deinem Pattern entsprechend anpassen.
SeaStorm
Lösung SeaStorm 05.02.2021 um 19:21:44 Uhr
Goto Top
Einfach ne Klammer drum rum in der Suche und beim Ersetzen durch \r\n\1 eingeben
regex
FlorianHe
FlorianHe 05.02.2021 um 19:57:01 Uhr
Goto Top
Danke. Hat funktioniert