\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'