Alguma recomendação sobre as ferramentas grep para Windows? Idealmente, aqueles que poderiam aproveitar o SO de 64 bits.
Estou ciente de Cygwin , é claro, e também encontrei o PowerGREP , mas estou me perguntando se há alguma joia escondida por aí?
(Ainda sou fã do PowerGREP , mas não o uso mais.)
Eu sei que você já mencionou, mas PowerGREP é incrível .
Alguns dos meus recursos favoritos são:
Agora percebo que as outras ferramentas grep podem fazer todas as opções acima. Só que o PowerGREP empacota todas as funcionalidades em uma GUI muito fácil de usar.
Das mesmas pessoas maravilhosas que trouxeram para você o RegexBuddy e com quem não tenho nenhuma afiliação além de amar as coisas deles. (Observe que o RegexBuddy inclui uma versão básica do grep (para Windows) e custa muito menos que o PowerGREP.)
O FINDSTR é bastante poderoso, suporta expressões regulares e tem as vantagens de já estar em todas as máquinas Windows.
Exemplo de uso:
findstr text_to_find *
ou para pesquisar recursivamentefindstr /s text_to_find *
fonte
GrepWin Gratuito e de código aberto (GPL)
Eu tenho usado o grepWin, que foi escrito por um dos caras do tortoisesvn. Faz o trabalho no Windows ...
http://stefanstools.sourceforge.net/grepWin.html
fonte
Atualização em julho de 2013:
Outra ferramenta grep que agora uso o tempo todo no Windows é o AstroGrep :
Sua capacidade de me mostrar mais do que apenas a pesquisa de linha (ou seja, --context = NUM de um grep de linha de comando) é inestimável.
E é rápido. Muito rápido, mesmo em um computador antigo com unidade não SSD (eu sei, eles costumavam fazer esse disco rígido com discos giratórios , chamados de travessas , loucos, certo?)
É de graça.
É portátil (arquivo zip simples para descompactar).
Resposta original outubro de 2008
Gnu Grep está bem
Você pode baixá-lo, por exemplo, aqui: ( site ftp )
Todas as opções usuais estão aqui.
Combinado com gawk e xargs (inclui 'find', do GnuWin32 ), e você pode realmente escrever como se estivesse no Unix!
Veja também as opções que estou usando para grep recursivamente :
fonte
O cmdlet Select-String do PowerShell foi bom na v1.0, mas é significativamente melhor na v2.0 . Ter o PowerShell incorporado nas versões recentes do Windows significa que suas habilidades aqui sempre serão úteis, sem a instalação de algo.
Acho conveniente criar uma função
gcir
paraGet-ChildItem -Recurse .
, com smarts, para passar parâmetros corretamente e um aliasss
paraSelect-String
. Então você escreve:fonte
ls . *.txt -r| sls -ca "SomeString"
sls
paraSelect-String
realmente muito tempo?Pode não estar exatamente na categoria 'grep', mas não consegui sobreviver no Windows sem um utilitário chamado AgentRansack . É um utilitário "find in files" baseado em gui com suporte a regex. É simples clicar com o botão direito do mouse em uma pasta, pressionar "ransack .." e encontrar arquivos contendo o que você está procurando. Extremamente rápido também.
fonte
Baregrep ( Baretail também é bom)
fonte
Faz alguns anos desde que você fez a pergunta, mas eu recomendaria o AstroGrep ( http://astrogrep.sourceforge.net ).
É gratuito, de código aberto e possui uma interface simples. Eu o uso para pesquisar código o tempo todo.
fonte
O PowerShell foi mencionado algumas vezes. Aqui está como você realmente o usaria de uma maneira acinzentada:
Ele pesquisa recursivamente todos os arquivos de texto na árvore de diretórios atual
SomeString
com distinção entre maiúsculas e minúsculas.Melhor ainda, execute o seguinte:
Então faça:
Em seguida, para torná-lo realmente mágico, adicione o alias da função ao seu perfil do PowerShell e você poderá reduzir o sofrimento de não ter as ferramentas de linha de comando adequadas.
fonte
Cygwin inclui grep. Todas as ferramentas GNU e coisas Unix funcionam muito bem no Windows se você instalar o Cygwin.
http://www.cygwin.com/
fonte
O ack funciona bem no Windows (se você tiver o Perl ). Acho melhor que grep para muitos usos.
fonte
Git no Windows = grep no cmd.exe
Acabei de descobrir que a instalação do Git fornecerá alguns comandos básicos do Linux: cat, grep, scp e todos os outros bons.
Instale e adicione a pasta bin Git ao seu PATH e, em seguida, o cmd.exe possui a funcionalidade básica do Linux!
http://code.google.com/p/msysgit/downloads/list?can=3
fonte
O dnGREP é uma ferramenta grep de código aberto para Windows. Ele suporta vários recursos interessantes, incluindo:
IMHO, ele tem uma interface agradável e limpa também :)
fonte
Eu sempre uso o WinGREP , mas tive problemas com o fato de não liberar arquivos.
fonte
Bem, ao lado da porta Windows do GNU grep em:
http://gnuwin32.sourceforge.net/
há também o grep da Borland (muito semelhante ao GNU one) disponível no Freeware Borland Comp ++ do freeware (é um freeware com ferramentas de linha de comando).
fonte
Eu tenho usado com sucesso os utilitários GNU para Win32 por algum tempo e ele possui um bom grep, bem como tail e outros utilitários gnu úteis para win32. Evito o shell empacotado e simplesmente uso os executáveis no prompt de comando do win32.
O Tail que está empacotado também é uma aplicação bastante boa.
fonte
Eu sou o autor de Aba Search and Replace. Assim como o PowerGREP, ele suporta expressões regulares, salvando padrões para uso posterior, desfazer para substituições, visualizar com destaque de sintaxe para HTML / CSS / JS / PHP, diferentes codificações, incluindo UTF-8 e UTF-16.
Em comparação com o PowerGREP, a GUI é menos confusa. O Aba começa a pesquisar instantaneamente enquanto você digita o padrão (pesquisa incremental), para que você possa experimentar expressões regulares e ver imediatamente os resultados.
Você é convidado a experimentar minha ferramenta; Ficarei feliz em responder qualquer questão.
fonte
Eu queria uma ferramenta gratuita de grep para Windows que permitisse clicar com o botão direito do mouse em uma pasta e fazer uma pesquisa regex de todos os arquivos - sem nenhuma tela nag.
A seguir, uma solução rápida com base no
findstr
mencionado em uma postagem anterior.Crie um arquivo de texto em algum lugar do disco rígido, onde você mantém ferramentas de longa duração. Renomeie para .bat ou .cmd e cole o seguinte:
Em seguida, navegue até a pasta SendTo. No Windows 7, procure
%APPDATA%\Microsoft\Windows\SendTo
e arraste um atalho do arquivo em lotes para a pasta SendTo.Renomeei o atalho para
1 GREP
mantê-lo no topo da lista SendTo.O que eu gostaria de fazer a seguir é canalizar a saída
findstr
através de algo que geraria um arquivo html, para que você pudesse clicar em cada linha de saída para abrir esse arquivo. Além disso, não acho que funcione com atalhos para pastas. Eu teria que inspecionar o parâmetro e ver se ele contém ".lnk".fonte
UnxUtils é o que eu uso, funciona perfeitamente para mim ...
fonte
Eu usei o grep da Borland por anos, mas apenas encontrei um padrão que não corresponde. Eeeks. O que mais ele não encontrou ao longo dos anos? Eu escrevi uma substituição simples de pesquisa de texto que faz recursão como grep - é o FS.EXE no forge de origem.
grep falha ...
windows findstr funciona ...
fonte
Minha ferramenta de escolha é o apropriadamente chamado Windows Grep :
fonte
A cadeia de seleção do PowerShell é semelhante, não é a mesma opção e semântica, mas ainda é poderosa.
fonte
Se você deseja uma ferramenta simples de usar o Windows Grep, criei uma chamada P-Grep que disponibilizei para download gratuito no meu site: www.adjutantit.com - menu inicial, downloads.
O Windows Grep parecia ter problemas com um grande número de arquivos, então escrevi os meus - o que parece mais confiável. Você pode selecionar uma pasta, clicar com o botão direito e enviá-la para o P-Grep. A pasta sendto fica desatualizada durante a instalação.
fonte
Outra boa opção é o MSYS . Ele fornece vários outros utilitários GNU para permitir que você seja mais produtivo.
fonte
Uso AJC Grep diariamente há anos. A única grande limitação que encontrei é que os caminhos dos arquivos são limitados a 255 caracteres e são interrompidos quando encontram um, em vez de apenas emitir um aviso. É chato, mas não acontece com muita frequência.
Eu o uso no Windows 7 Ultimate de 64 bits, para que suas credenciais de 64 bits sejam boas.
fonte
GREP para Windows
Eu o uso desde sempre e, felizmente, ainda está disponível. É super rápido e muito pequeno.
fonte
Se nenhuma das soluções é exatamente o que você está procurando, talvez você possa escrever um wrapper no FindStr que faça exatamente o que você precisa?
O FindStr é muito bom de qualquer maneira, portanto, ele deve apenas ativar uma GUI (se você quiser) e fornecer alguns recursos extras (como combiná-lo com o Find para encontrar a contagem de arquivos que contêm uma string especificada [mencionada acima]).
Obviamente, isso pressupõe que você tenha a exigência, o tempo e a inclinação para fazer isso!
fonte
Eu tenho o Cygwin instalado na minha máquina e coloquei o diretório bin do Cygwin no meu caminho ambiental, para que o greg do Cygwin funcione normalmente em uma linha de comando que resolva todas as minhas necessidades de script para grep no momento.
fonte