sed: gemischten string ersetzen

P

peach

Grünschnabel
Hallo, ich möchte eine bel. lange Zahlenfolge, die mit einem | beginnt durch die Zahlenfolge gefolgt von einem ^ ersetzen. Bsp

|1234 -> 1234^

wie mach ich das am besten? ?(

Danke Claudia
 
Am einfachsten doch wohl etwa so:
Code:
$ echo "|1234" | sed -e 's/|\(.*\)/\1^/'
Du markierst also mit den Klammern \( und \) den Bereich, den du behalten willst, und beziehst dich darauf dann im Replacement-String mit \1. Das geht auch mit mehreren solchen Bereichen, die du dann mit \2, \3, ... ansprechen kannst.

Gruesse

Sorry, zu schnell: habe das "Zahlenfolge" als "Zeichenfolge" gelesen; dann also besser
Code:
$ echo "XXX |1234 YYY" | sed -e 's/|\([0-9]*\)/\1^/'
XXX 1234^ YYY
$
 
Zuletzt bearbeitet:

Ähnliche Themen

SED: eine Zeile mit einem Grep-Output ersetzen

Teilstring extrahieren

leerzeichen vor und nach einem STRING löschen

sed? Zeichenkette ersetzen 1:2:17 zu 1:02:17

Wertebereich ersetzen mit sed

Zurück
Oben