Usando o vi para substituir uma string em vários arquivos
Às vezes você pode querer substituir ocorrências de uma cadeia em vários arquivos.
Existe uma maneira fácil de fazê-lo com a ajuda do editor vi.
Este exemplo ilustra o poder do vi:
Suponha que você tenha 100. Arquivos html, e você deseja substituir a ocorrência da string '2007 'com '2008'.
Como tal, execute o seguinte no seu prompt:
vi *. html
Isto irá abrir todos os arquivos que terminam com '. Html' em seu diretório de trabalho atual. Em seguida, emitir o seguinte comando:
:% Argdo s/2007/2008/g | wq
É isso! o comando acima irá loop sobre cada arquivo, substituindo (%) a palavra de 2007 com o Word 2008 a nível mundial (g), então ele irá salvar cada arquivo (w) e sair dela (q).
Note que a string de encontrar e usar a corda para a substituição pode ser substituída por expressões regulares. Por exemplo, um circunflexo (^) refere-se ao início de uma linha, o cifrão ($) refere-se a seu fim, etc Então, se fôssemos para substituir qualquer linha que começa com 'amostra' e que terminam com 'teste', uma poderia usar:
: Argdo% s / ^ .* amostra de teste $ / g | wc
onde .* corresponde a qualquer coisa entre a cadeia dois.
Note também que você pode fazer o localizar e substituir a ação sem o respeito ao caso (ou seja, uma busca por 'palavra' irá corresponder "palavra"). Para que o assunto, basta substituir '/ g' com '/ gi'

Não é acento circunflexo, cenoura!
Deve ter sido pensando em comida quando digitá-lo
Saúde
Obrigado por esta dica, você me salvou um monte de trabalhar com isso.
Thanx muito, me ajudou muito.
Eu tenho um comentário, por número relativamente pequeno de substituições, solicitando substituição também pode ser útil.
: Argdo% s / SEARCH_STRING / replace_string / gc | wq
com um adicional de 'c' para 'confirmação'
Obrigado mais uma vez