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
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

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
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
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
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

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
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
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
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
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
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

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
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
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
3PO
Veteran
Veteran


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

PostPosted: Fri Jul 01, 2016 5:49 pm    Post subject: Reply with quote

Hallo Zusammen,

ich stehe mal wieder auf dem Schlauch. :)


Ich habe ein Script, das mir eine Datei nach folgendem Schema füllt:

Code:
foo="1"
bar="abc"
xyz="0,2"


Soweit, so gut. Leider aber kommt es vor, dass auch solche Einträge erzeugt werden:

Code:
foo="1" aa"er
bar="abc"  23


Meine Frage ist nun, wie kann ich mit sed, in jeder Zeile, alles löschen, was nach dem zweiten " kommt?
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5161

PostPosted: Fri Jul 01, 2016 7:36 pm    Post subject: Reply with quote

test.txt wrote:
foo="1"
bar="abc"
xyz="0,2"
foo="1" aa"er
bar="abc" 23

Code:
 sed -e 's/\([a\-z]*="[^"]*"\).*$/\1/g' < test.txt

Quote:
foo="1"
bar="abc"
xyz="0,2"
foo="1"
bar="abc"


Es wird der gewünschte text in eine gruppe selektiert und die ganze zeile wird dann mit dem content der gruppe ersetzt
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5161

PostPosted: Fri Jul 01, 2016 7:38 pm    Post subject: Reply with quote

3PO wrote:

Soweit, so gut. Leider aber kommt es vor, dass auch solche Einträge erzeugt werden:

Code:
foo="1" aa"er
bar="abc"  23

Wäre es nicht besser das script zu fixen?
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
3PO
Veteran
Veteran


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

PostPosted: Fri Jul 01, 2016 7:45 pm    Post subject: Reply with quote

firefly wrote:

Wäre es nicht besser das script zu fixen?

Ist doch gefixt, mit:
Code:
sed -e 's/\([a\-z]*="[^"]*"\).*$/\1/g' < test.txt

:lol: :lol: :lol:

BTW: 1000 THX für die schnelle Hilfe!
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