Aqui está como eu faria:
sed -E '/(nas_mba|nas_tvr)/! s/nas_.../nas_bar/'
Exemplo:
echo "nas_mba
nas_tvr
nas_foo" | sed -E '/(nas_mba|nas_tvr)/! s/nas_.../nas_bar/'
nas_mba
nas_tvr
nas_bar
Apenas nas_foo no texto original é substituído, enquanto nas_mba e nas_tvr não são alterados.
Outro exemplo com mais linhas:
echo "nas_hat
> nas_mba
> nas_foo
> nas_hat
> nat_tvr
> nas_cat
> nas_dog" | sed -E '/(nas_mba|nas_tvr)/! s/nas_.../nas_bar/'
nas_bar
nas_mba
nas_bar
nas_bar
nat_tvr
nas_bar
nas_bar
Se você quer mudar de lugar, basta adicionar a opção -i (se você usa o GNU sed você não precisa de -i "" , basta -i seria suficiente):
sed -E -i "" '/(nas_mba|nas_tvr)/! s/nas_.../nas_bar/' nas.txt
cat nas.txt
nas_bar
nas_mba
nas_bar
nas_bar
nat_tvr
nas_bar
nas_bar
Testado no Mac OS X 10.11.6 e no BSD sed .