Os espaços são mais conhecidos como "espaços em branco" e podem incluir não apenas espaços, mas guias (e outros caracteres "em branco"). Em uma expressão regular, muitas vezes você pode se referir a eles com [[:space:]] ou \s (dependendo do mecanismo RE) que inclui horizontal (espaço, tabulação e alguns caracteres de espaçamento unicode de várias larguras se disponível) para o qual você também pode usar caracteres de espaçamento [[:blank:]] e às vezes \h e vertical (como alimentação de linha, alimentação de formulário, guia vertical ou retorno de carro). [[:space:]] às vezes é usado no lugar de [[:blank:]] para sua cobertura do caractere de retorno de carro espúrio em arquivos de texto da Microsoft.
Você não pode substituir com grep - é apenas uma ferramenta de pesquisa. Em vez disso, para substituir o yes por no , você pode usar um comando como este:
sed '/disable\>/s/\<yes\>/no/' /etc/xinetd.d/tftp
Isso diz a sed para substituir (alterar) a palavra yes em no em qualquer linha que contenha a palavra disable . (O operador \> (inicialmente um ex / vi regexp), em algumas implementações de sed , força um fim de palavra (embora tenha cuidado, não são palavras delimitadas por espaço em branco , também corresponderia em disable-option )). Convenientemente, isso evita completamente a questão do espaço em branco.
Cuidado: com uma linha como eyes yes , uma substituição yes ilimitada se aplicaria à primeira instância de yes e deixaria você com eno yes . É por isso que usei \<yes\> em vez de apenas yes .