\b
corresponde a um limite de palavra no sed GNU, ou seja, o ponto entre um "caractere de palavra" e um caractere de não palavra. Letras, dígitos e sublinhados são os primeiros, pontos e traços (entre outros) o último, portanto há um limite de palavra no final de localhost
no final da linha, bem antes dos pontos e traços. Mas não entre t
e 2
ou t
e r
.
Se você quiser remover a linha com a palavra localhost
apenas, use sed -e '/^localhost$/d'
ou mesmo grep -vFx 'localhost'
( -v
para correspondência invertida, -F
para correspondência de sequência fixa, -x
para correspondência completa correspondência de linha).
Ou, se você tiver espaços em branco à direita: sed -e '/^localhost[[:blank:]]*$/d'