MAC Adresse formatieren von 0123456789ab => 01:23:45:67:89:ab
Hallo Zusammen, ich habe eine Liste mit MAC Adressen in der Form 0123456789ab, wol braucht sie aber in der Form 01:23:45:67:89:ab. Weiß jemand eine Möglichkeit, wie das entsprechend hinbekomme? Besten Dank und Gruß Daniel -- 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
Daniel Bauer, Freitag, 13. Januar 2012:
ich habe eine Liste mit MAC Adressen in der Form 0123456789ab, wol braucht sie aber in der Form 01:23:45:67:89:ab. Weiß jemand eine Möglichkeit, wie das entsprechend hinbekomme?
echo "0123456789AB" | sed -nre 's/(..)(..)(..)(..)(..)(..)/\1:\2:\3:\4:\5:\6/p' -- Andre Tann -- 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
Hi Andre,
From: "Andre Tann"
Daniel Bauer, Freitag, 13. Januar 2012:
ich habe eine Liste mit MAC Adressen in der Form 0123456789ab, wol braucht sie aber in der Form 01:23:45:67:89:ab. Weiß jemand eine Möglichkeit, wie das entsprechend hinbekomme?
echo "0123456789AB" | sed -nre 's/(..)(..)(..)(..)(..)(..)/\1:\2:\3:\4:\5:\6/p'
ich muß wirklich mal nach einem guten SED Tutorial suchen, einfach klasse! Vielen herzlichen Dank Daniel -- 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
Hallo, Am Fri, 13 Jan 2012, Andre Tann schrieb:
Daniel Bauer, Freitag, 13. Januar 2012:
ich habe eine Liste mit MAC Adressen in der Form 0123456789ab, wol braucht sie aber in der Form 01:23:45:67:89:ab. Weiß jemand eine Möglichkeit, wie das entsprechend hinbekomme?
echo "0123456789AB" | sed -nre 's/(..)(..)(..)(..)(..)(..)/\1:\2:\3:\4:\5:\6/p'
$ echo '0123456789ab' | sed 's/../&:/g;s/:$//' 01:23:45:67:89:ab HTH, -dnh -- "Reality is that which, when you stop believing in it, doesn't go away". -- Philip K. Dick -- 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
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. -- Andre Tann -- 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
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
participants (3)
-
Andre Tann
-
Daniel Bauer
-
David Haller