Candid Dauth: MAC Adresse mit sed durch ein * ersetzen

Beitrag lesen

Heißa, Klara,

Warum funktioniert folgendes nicht?
echo 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0d:34:26:ec:1e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"' |sed 's/".*:.*:.*:.*:.*:.*"/bla/g'

Weil das Anführungszeichen in deinem regulären Ausdruck das erste nimmt, was es findet (also das nach SUBSYSTEM=), denn alles bis zum ersten Doppelpunkt trifft ja auf die Beschreibung .* zu. Ebenso alles nach dem letzten Doppelpunkt bis zum letzten Anführungszeichen, auch das passt auf die Beschreibung .*. Die Lösung ist, die Beschreibung der einzelnen Teile der Mac-Adresse so weit zu spezialisieren, dass sie nur noch die tatsächliche Mac-Adresse matcht und nicht mehr den Rest, zum Beispiel, indem du das .* durch ein [0-9a-f]{2} ersetzt, oder was auch immer alles für Werte bei dir herauskommen können.

Gautera!
Grüße aus Biberach Riss,
Candid Dauth

--
„Soggt da Duaschd zum Hunga:
‚I hob heid noh niggs drunga.‘
Do soggt da Hunga zum Duaschd:
‚Woaßt wos? Dehs is mia wuaschd!‘“