Procura de strings dentro de vários arquivos de teste com cmd [closed]

0

Eu tenho vários arquivos de texto contendo milhares de e-mails para marketing. Esses arquivos contêm também outras informações além dessas mensagens. Existe alguma maneira de usar cmd para selecionar todos esses arquivos juntos filtrar esses e-mails especificamente e enviá-los para um documento do Excel?

    
por Cloo 13.12.2014 / 16:03

2 respostas

1

O utilitário padrão é "find", a sintaxe e as opções disponíveis são mostradas por:

C:\> find /?

Exemplo de sessão no prompt de comando:

cd /d C:\
dir /s /b >FILES.txt
find /i "calc" FILES.txt
...

... provavelmente exibirá o caminho e o nome do arquivo EXE da Calculadora do Windows.

Se você deseja pesquisar mais de um termo de pesquisa, use os canais; como em:

find /i "text for first coarse search" FILES.txt | find /i "fine tune it" | find /i "yet more fine tuned"

Se você quiser ainda mais opções, tente encontrar um utilitário "grep" para o Windows, mas você precisará entender "expressões regulares" - como sempre; como a facilidade aumenta, a complexidade é propensa a fazer o mesmo.

    
por 13.12.2014 / 16:40
1

Eu atualizei meu script jgrep.bat para que ele seja capaz disso com o novo sinalizador -o . Para usá-lo para o seu problema, você vai querer copiar o script para a pasta onde você tem esses arquivos, crie um novo arquivo e adicione isso a ele:

@echo off
cd "%~dp0"
FOR /R . %%G IN (*.txt) DO @jgrep.bat -o "[A-Za-z0-9/-_.]+@[A-Za-z0-9\-_.]+" < "%%G"
pause

Isso deve fazer o que você quiser. Basta copiar esses resultados para sua planilha do Excel.

    
por 13.12.2014 / 19:56