PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sed: Zeichen einer Zeichenfolge am Ende "abschneiden"



deb
08.09.08, 18:34
Hallo,

von zwei Strings, z.B.

Ein Test

möchte ich mit sed, awk, etc. das Leerzeichen und alle Zeichen im zweiten String entfernen.

Das Ergebnis sollte dann also so aussehen:

EinT

Alle Versuche schlugen bisher fehl, hätten die jeweiligen Strings die gleiche Länge wäre es einfach (sed/awk oder cut sogar).

Gibt es dazu eine Lösung?

Vielen Dank!

Gruß
Daniel

Ginsengelf
08.09.08, 18:39
Moin, als Ansatz:

sed 's/\([A-Za-z]*\) \([A-Z]\)[a-z]*/\1\2/'

oder zu deutsch: beliebig viele Buchstaben (als Muster 1), ein Leerzeichen, ein Großbuchstabe (als Muster 2), beliebig viele Kleinbuchstaben, ersetzen durch 1 und 2.

Ginsengelf

edit: möchtest du _alle_ Zeichen des zweiten Strings entfernen, also hinter dem Leerzeichen abhacken, oder soll es wirklich so aussehen wie im Beispiel?

deb
08.09.08, 18:50
perfekt! Vielen Dank für die schnelle Hilfe!