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-Key: 648551

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

Printed on: May 4, 2024 at 05:05 o'clock

Member: ASP.NET.Core
ASP.NET.Core Feb 05, 2021 at 16:43:03 (UTC)
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.
Member: SeaStorm
Solution SeaStorm Feb 05, 2021 at 18:21:44 (UTC)
Goto Top
Einfach ne Klammer drum rum in der Suche und beim Ersetzen durch \r\n\1 eingeben
regex
Member: FlorianHe
FlorianHe Feb 05, 2021 at 18:57:01 (UTC)
Goto Top
Danke. Hat funktioniert