Como "pesquisar e substituir" muitos arquivos?


11

Eu uso o grepcomando para procurar uma string em muitos arquivos. Existe algo semelhante a "pesquisar e substituir"?

Respostas:


19

Você está procurando o sedcomando Por exemplo, para substituir o "cachorro" por "gato" em todos os arquivos de texto no diretório atual:

sed -i 's/dog/cat/' *.txt

1
Simples e agradável.
18743 Luis Alvarado

1

sed vem à mente. Exemplo:

sed s/cat/dog/ <input >output

Ele procura gato em uma linha e coloca o cão em seu lugar na entrada do arquivo e grava na saída do arquivo.



0

Você pode usar o Vim no modo Ex:

for b in *.txt
do
  ex -sc '%s/OLD/NEW/g|x' "$b"
done
  1. % selecione todas as linhas

  2. s substituto

  3. g substitua todas as instâncias em cada linha

  4. x salvar e fechar

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.