Pesquisa em lotes e substituição?

2

Eu tenho alguns milhares de arquivos que eu preciso pesquisar e substituir. Existe um software que pode abrir um diretório de arquivos, digitalizar esses arquivos e, em seguida, pesquisar e substituir? Estou ciente de que você pode escrever algo assim. No entanto, não tenho interesse e prefiro usar algo que já foi feito.

    
por user1529891 23.10.2011 / 07:17

3 respostas

4

Se você estiver usando Linux, poderá enviar os resultados de um comando find para sed para executar a substituição.

find . -name '*.txt' -print0 | xargs -0 sed -i 's/searchpattern/replacepattern/'

Isso localizará todos os arquivos em seu diretório atual e abaixo ( . é seu diretório atual) e substituirá instâncias de searchpattern por replacepattern .

    
por 23.10.2011 / 09:48
4

Se você estiver usando o Windows, você pode tentar usar NotePad ++ .
Há uma guia na janela Substituir que procura por arquivos em uma pasta (você pode escolher uma extensão para filtrar) e pesquisar / substituir automaticamente.

Apenas observe que fazer milhares de arquivos pode levar muito tempo. Isso depende das especificações do seu computador. Apenas certifique-se de ter um backup dos arquivos que você irá encontrar e substituir caso o Notepad ++ falhe e você perca dados.

    
por 23.10.2011 / 07:45
0

Frequentemente trabalho no Windows e em diversos tipos de Unix e, para substituir texto, eu uso o sfk . Por exemplo, para substituir "foo" por "bar" em todos os arquivos .txt na pasta logfiles e em todos os subdiretórios, digite o seguinte:

sfk replace -pattern /foo/bar/ -dir logfiles -file .txt

Ele fará uma simulação. Adicione a opção -yes para substituir o texto.

    
por 18.07.2012 / 22:55

Tags