Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
sed-Wissen aus der Praxis für Noobs und Geeks
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2, 3, 4, 5, 6, 7  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
mv
Advocate
Advocate


Joined: 20 Apr 2005
Posts: 4860

PostPosted: Sun May 04, 2014 9:42 am    Post subject: Reply with quote

3PO wrote:
Ich bräuchte von jeder Zeile nur das siebte und das achte Zeichen, allerdings von hinten her gerechnet.

Code:
-e 's/^.*\(..\)......$/\1/'
Back to top
View user's profile Send private message
3PO
l33t
l33t


Joined: 26 Nov 2006
Posts: 947
Location: Schwabenländle

PostPosted: Sun May 04, 2014 9:50 am    Post subject: Reply with quote

1000 THX @ mv,

das funktioniert 100%ig, allerdings ist mir die Syntax nicht so ganz klar. :D
Back to top
View user's profile Send private message
mv
Advocate
Advocate


Joined: 20 Apr 2005
Posts: 4860

PostPosted: Sun May 04, 2014 11:21 am    Post subject: Reply with quote

^: Zeilenanfang:
.*: Gefolgt von irgendwelchen Zeichen (beliebig vielen).
\(: Das folgende merken wir uns in \1
..: Zwei beliebige Zeichen
\): Ende des Merkens
......: Sechs weitere Zeichen
$: Zeilenende

Danach wird der Treffer durch das Gemerkte ersetzt.
Back to top
View user's profile Send private message
3PO
l33t
l33t


Joined: 26 Nov 2006
Posts: 947
Location: Schwabenländle

PostPosted: Sun May 04, 2014 11:30 am    Post subject: Reply with quote

Danke, für die ausführliche Erklärung. :)
Back to top
View user's profile Send private message
3PO
l33t
l33t


Joined: 26 Nov 2006
Posts: 947
Location: Schwabenländle

PostPosted: Sun Jun 08, 2014 5:24 pm    Post subject: Reply with quote

Hallo Zusammen,

ich habe mal wieder ein Problem, beim Zerlegen von Strings, allerdings weiß ich nicht, ob das über Haupt mit sed geht.

Ich habe ein Script, dass mir folgende Ausgabe liefert:

Code:
5102=deu@3,5103=mis@3;5106=deu@106
6120=deu@3,6121=mis@3,6123=mul@3;6122=deu@106
102=deu@3,103=mis@3;106=deu@106
120=deu@3,121=mis@3,122=mul@3;125=deu@106


Aussehen sollte das Ganze aber so:

Code:
5102,5103,5106
6120,6123,6122
102,103,106
120,121,122,125


Also nur die Zahlen, vor den "=", getrennt mit Komata.

Hat Jemand eine Idee, wie man das lösen kann?
Back to top
View user's profile Send private message
mv
Advocate
Advocate


Joined: 20 Apr 2005
Posts: 4860

PostPosted: Mon Jun 09, 2014 6:06 pm    Post subject: Reply with quote

Code:
-e 's/\=[^,;]*\([,;]\|$\)/\1/g' -e 's/;/,/g'
Back to top
View user's profile Send private message
3PO
l33t
l33t


Joined: 26 Nov 2006
Posts: 947
Location: Schwabenländle

PostPosted: Mon Jun 09, 2014 7:53 pm    Post subject: Reply with quote

1000 THX @ mv!

Funktioniert, wie immer 100%ig. :)
Back to top
View user's profile Send private message
schitthoch3
Tux's lil' helper
Tux's lil' helper


Joined: 22 Mar 2004
Posts: 94

PostPosted: Mon Jun 29, 2015 5:54 pm    Post subject: Wieder einmal VDR channels.conf Reply with quote

Hallo zusammen
Mein Kabelprovider sendet leider bewusst falsche DVB-C Senderdaten. Siehe dazu mehr hier. Ich habe nun eine channels.conf für VDR in der alle Sender zweimal (an zwei unterschiedlichen Zeilen) gelistet sind. Das ist die Ausgangslage. Ein Beispiel:
Auszug aus der channels.conf wrote:

[...]
ZDF HD;upc:514000:M256:C:6900:80=27:81=deu@3,82=mis@3,83=mul@3;91=deu@106:110:0:9007:1:78:0
[...]
ZDF HD;upc:514000:M256:C:6900:0:0:0:0:9007:1:83:0
[...]

Ich möchte nun von oben herab ausgehend für alle Kanäle nach dem Namen suchen (erster String vor dem Semikolon) und vom ersten Eintrag mit gleichem Namen den zweitletzten String (78) durch den String des zweiten Eintrages mit gleichem Namen ersetzen (83). Danach soll der zweite Eintrag gleichen Namens gelöscht werden. Sobald es keinen Zweiteintrag mit gleichem Sendernamen mehr gibt, soll das Script enden.

Am Schluss soll die channels.conf jeden Kanal nur einmal enthalten (die unteren Zeilen-Einträge gelöscht) mit "gemergten" Inhalten also z.B.
ZDF HD;upc:514000:M256:C:6900:80=27:81=deu@3,82=mis@3,83=mul@3;91=deu@106:110:0:9007:1:83:0

Anmerkung: Die Zeilen Enden immer mit :0, dass heisst man kann in der oberen Zeile des Namenpaares alles ab dem zweitletzten : ersetzen.

Ich hoffe ich konnte dies jetzt sinnvoll erklären. Ansonsten bitte nachfragen.
Hat da jemand eine Lösung?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6, 7
Page 7 of 7

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum