HamburgJoe schrieb:
Danke für Eure hilfe. Ausgeführt habe ich:
| sed 's/ [A-Z]{2,3} DE$/ DE/' alt.m3u > neu.m3u
|
Leider tut sich in meiner m3u so gar nichts:
Ja, mein Fehler. Es hätte heißen müssen:
| sed -r 's/ [A-Z]{2,3} DE"$/ DE"/' alt.m3
|
Das -r ist nötig um reguläre Ausdrücke richtig zu verarbeiten; alternativ kann man auch die geschweiften Klammern maskieren:
| sed 's/ [A-Z]\{2,3\} DE"$/ DE"/' alt.m3u
|
Der zweite Fehler war, zu übersehen, dass die Zeilen nicht mit DE enden, sondern mit DE".
Das Dollar sorgt dafür, dass der Ausdruck am Zeilenende verankert ist.
| #EXTM3U
#EXTINF:-1 tvg-id="13th Street HD DE" tvg-name="13th Street HD DE" tvg-logo="http://195.154.221.171/picons/13thstreethdde.png" group-title="TV Deutsch",13th Street HD DE
http://XXX.XXX.XX
#EXTINF:-1 tvg-id="3sat HD DE" tvg-name="3sat HD DE" tvg-logo="http://195.154.221.171/picons/3sathdde.png" group-title="TV Deutsch",3sat HD DE
http://XXX.XXX.XX
|
Tja - ich habe zwar auch irgendwo einen m3u-File rumliegen, aber vor 10 Jahren angelegt und seither tut er was er soll und wurde von mir nicht wieder angeschaut.
Bei regulären Ausdrücken musst Du schon zeigen, was der exemplarische Input ist und wie der exemplarische Output aussieht, nicht eine simplifizierte Form, sonst musst Du in der Lage sein die simplifizierte Lösung in Dein Problem zurückzuübersetzen.
Nun muss ich auch zu bedenken geben, das der einzige Text der sich ändern soll auf die
| tvg-id="13th Street HD DE"
|
bezieht. Der rest, also
| tvg-name="13th Street HD DE"
|
soll so bleiben wie er ist...
Gut - jetzt bist Du ja mit Perl glücklich geworden ...