Hallo, Am Fri, 13 Jan 2012, Andre Tann schrieb:
David Haller, Freitag, 13. Januar 2012:
$ echo '0123456789ab' | sed 's/../&:/g;s/:$//' 01:23:45:67:89:ab
Hmpf. Hätt ich besser nix gesagt... ;)
-v bitte.
Ersetze (vom Anfang ausgehend) jede 2 Zeichen durch eben diese und einen :. Lösche das : am Ende. Zur Erinnerung: & ist rechts das gleiche wie \1, \2 .. für die mit \(\) geklammerten Ausdrücke, aber für alles auf das der Linke Teil passte, hier also zwei Zeichen (..). ==== man sed ==== s/regexp/replacement/ Attempt to match regexp against the pattern space. If success- ful, replace that portion matched with replacement. The replacement may contain the special character & to refer to that portion of the pattern space which matched ==== Zum Vergleich: $ echo '0123456789ab' | sed 's/../&:/' 01:23456789ab $ echo '0123456789ab' | sed 's/../&:/g' 01:23:45:67:89:ab: HTH, -dnh -- Perl isn't a programming language, it's a thousand special case rules flying in close formation. -- Peter da Silva -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org