Você quase acertou, esqueceu de combinar com o resto da linha (em vim ):
:%s/^hardware mac.*/hardware mac 00:00:00:00:00:00/gc
Você pode descartar as opções gc no final, se tiver certeza do que está fazendo, g provavelmente será desnecessário, já que você não corresponderá a mais de uma vez por linha.
Com sed é a mesma coisa:
sed -i 's/^hardware mac.*/hardware mac 00:00:00:00:00:00/' filename
Observe que o comando de substituição sed s não aceita um sinalizador c (confirm), como vim .