Eu uso o grep
comando para procurar uma string em muitos arquivos. Existe algo semelhante a "pesquisar e substituir"?
Responder1
Você está procurando osed
comando. Por exemplo, para substituir “cachorro” por “gato” em todos os arquivos de texto no diretório atual:
sed -i 's/dog/cat/' *.txt
Responder2
sed vem à mente. Exemplo:
sed s/cat/dog/ <input >output
Isso procura cat em uma linha e coloca dog em seu lugar na entrada do arquivo e grava na saída do arquivo.
Responder3
sed
é a ferramenta certa; mas, como alternativa, você pode até usar ex
comandos em vim
:
vim -c 'args <files> | argdo %s/cat/dog/g | x'
onde <files>
está a lista de arquivos ou padrões nos quais deseja fazer a substituição.
Responder4
Você pode usar o Vim no modo Ex:
for b in *.txt
do
ex -sc '%s/OLD/NEW/g|x' "$b"
done
%
selecione todas as linhass
substitutog
substitua todas as instâncias em cada linhax
salvar e fechar