# CR - LF Operationen

**URL:** <https://community.mp3tag.de/t/cr-lf-operationen/45408>\
**Category:** Allgemein\
**Created:** [May 12, 2019, 9:49am UTC](https://community.mp3tag.de/t/cr-lf-operationen/45408 "2019-05-12T09:49:06Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [May 12, 2019, 9:49am UTC](https://community.mp3tag.de/t/cr-lf-operationen/45408/1 "2019-05-12T09:49:06Z")

</div>

Durch eine zeitweilig fehlerhaft arbeitende Websource-Software habe ich im Tag-Feld UNSYNCEDLYRICS zu viele CR-LFs.  
Die Software hat in jede Songzeile ein zusätzliches CR-LF eingefügt und bei den Strophenwechseln 2 zusätzliche CR-LFs.

Zunächst möchte ich daher diese fehlerhaften Dateien herausfiltern, wobei sich da wohl nur die Filterung nach 4 CR-LFs in Folge eignet.  
Somit würden Songtexte ohne Strophen wohl leider nicht eindeutig herausgefiltert werden können.

Anschließend würde ich in diesen gefilterten Dateien gerne folgende Ersetzungen vornehmen:

CRLFCRLFCRLFCRLF -\> CRLFCRLF  
und  
CRLFCRLF -\> CRLF

Machbar? Und wie geht man da am besten vor?

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [May 12, 2019, 9:51am UTC](https://community.mp3tag.de/t/cr-lf-operationen/45408/2 "2019-05-12T09:51:49Z")

</div>

Ich meine, dass du die 4-fach-CRLFs durch ein Metazeichen ersetzen musst, z.B: `#`  
Dann ersetzt du alle 2-fach-CRLFs durch 1 CRLF und dann alle `#` durch 2x CRLF.  
Dann müsste es wieder stimmen.

---

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [May 12, 2019, 9:53am UTC](https://community.mp3tag.de/t/cr-lf-operationen/45408/3 "2019-05-12T09:53:40Z")

</div>

Und wie filtere ich nach 4 aufeinanderfolgenden CRLFs?

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [May 12, 2019, 10:02am UTC](https://community.mp3tag.de/t/cr-lf-operationen/45408/4 "2019-05-12T10:02:55Z")

</div>

`"$ifgreater($strstr(%unsyncedlyrics%,$char(13)$char(10)$char(13)$char(10)$char(13)$char(10)$char(13)$char(10)),0,yes,no)" IS yes`

---

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [May 12, 2019, 10:07am UTC](https://community.mp3tag.de/t/cr-lf-operationen/45408/5 "2019-05-12T10:07:34Z")

</div>

> [@ohrenkino](#):
>
> "$ifgreater($strstr(%unsyncedlyrics%,$char(13)$char(10)$char(13)$char(10)$char(13)$char(10)$char(13)$char(10)),0,yes,no)" IS yes

Danke.  
Während Du nachgedacht hast habe ich auch nachgedacht. 😉  
Es geht wohl auch:  
`unsyncedlyrics MATCHES \r\n\r\n\r\n\r\n`

---

<div class="post-metadata">

**Author:** ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)\
**Post date:** [May 12, 2019, 5:14pm UTC](https://community.mp3tag.de/t/cr-lf-operationen/45408/6 "2019-05-12T17:14:46Z")

</div>

> [@ohrenkino](#):
>
> Ich meine, dass du die 4-fach-CRLFs durch ein Metazeichen ersetzen musst, z.B: `#`  
> Dann ersetzt du alle 2-fach-CRLFs durch 1 CRLF und dann alle `#` durch 2x CRLF.

Es war doch wesentlich einfacher:

1. Filtern: `unsyncedlyrics MATCHES \r\n\r\n\r\n\r\n`

2. Aktion:  
Typ: Ersetzen mit regulärem Ausdruck  
Feld: UNSYNCEDLYRICS  
Regulärer Ausdruck: `\r\n\r\n`  
Ersetzen: `\r\n`

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [May 12, 2019, 6:04pm UTC](https://community.mp3tag.de/t/cr-lf-operationen/45408/7 "2019-05-12T18:04:34Z")

</div>

> [@poster](#):
>
> Es war doch wesentlich einfacher:

Naja - dann muss man sicherstellen, dass man die Ersetzen-Aktion nicht (aus Versehen) 2x laufen lässt. Sonst hast du am Ende nur noch einzelne CR-LF.
