Procura uma string de texto e substitui a linha inteira que a contém em um grupo de arquivos de texto (Windows)

0

Estou procurando uma solução automatizada que possa pesquisar se uma cadeia de texto especificada estiver em uma linha (pode não ser uma correspondência exata - contanto que a cadeia de texto especificada esteja contida na linha) em um grupo de texto arquivos e irá remover toda a linha (ou linhas), onde a seqüência de texto é / são encontrados e substituí-lo por uma cadeia de texto que eu especificar. Estou usando o Windows 7.

Razão para isso: eu edito arquivos de AI para um antigo jogo de estratégia ( Total Annihilation ). Os arquivos do AI são basicamente arquivos de texto, com um arquivo AI diferente por tipo de mapa. Se eu gostaria de fazer uma edição específica igual em todos os arquivos AI, eu teria que editar muitos arquivos de texto.

    
por galacticninja 07.11.2010 / 09:15

3 respostas

2

O Notepad ++, link (também disponível como um aplicativo portátil), fará uma pesquisa e substituirá os arquivos no diretório atual e todos os subdiretórios usando expressões regulares, no menu de busca, vá para substituir e, em seguida, clique na guia "localizar nos arquivos" selecione o modo de pesquisa "expressão regular" digite "^. your_string. $" no campo de pesquisa e "your_new_string" no campo "substituir por".

teste melhor primeiro.

    
por 07.11.2010 / 10:22
2

Você pode usar sed no Windows. Uma fonte é GnuWin32 . Um comando típico pode ser assim:

sed '/search pattern/s/^.*$/This is the new text/' file*.txt

que diz "em cada linha em cada arquivo (arquivo nomeado [algo] .txt) que inclui o texto" padrão de pesquisa ", substitua a linha inteira por" Este é o novo texto ".

Operações mais complexas podem ser realizadas usando expressões regulares e outros comandos.

    
por 07.11.2010 / 09:55
0

AutoIt pode fazer isso facilmente. Você pode olhar para este post por um exemplo que eu escrevi que faz semelhante para o que você precisa. A fonte que eu forneci precisaria apenas de pequenos ajustes para acomodar suas necessidades, e poderia ser feita para fazer todos os arquivos de uma só vez.

    
por 07.11.2010 / 09:33