Existe um utilitário semelhante ao grep
disponível no prompt de comando do Windows ou existe uma ferramenta de terceiros?
179
Existe uma ferramenta de linha de comando chamada FINDSTR
que vem com todos os sistemas operacionais da classe Windows NT (digite FINDSTR /?
em uma janela do prompt de comando para obter mais informações) Ele não suporta tudo o que grep
faz, mas pode ser suficiente para suas necessidades.
netstat -n | FINDSTR 3389
PowerShell (incluído como padrão no Windows 7 / 2008R2, opcional para XP / 2003 / Vista / 2008), que inclui o
select-string
cmdlet para esse fim.fonte
Grep for Windows por GnuWin Project (02/10/2014: Está desatualizado, veja os comentários abaixo)
fonte
como mencionado, o findstr funciona bem. exemplo:
C:> dir | findstr Windows
11/06/2013 21:55 Windows
fonte
Cygwin grep e mais;)
fonte
Eu também encontrei mais uma maneira de utilizar a funcionalidade do GREP no Windows 7 e superior sem nenhum aplicativo extra para instalar e em sistemas mais antigos você pode usar o Powershell de instalação.
No Powershell , o usuário pode usar o Where-Object que possui um conjunto bastante abrangente de recursos que fornece toda a funcionalidade do GREP e mais.
Espero que ajude.
fonte
Estou surpreso que ninguém tenha mencionado o FINDSTR . Eu não sou um usuário grep poweruser, mas o findstr faz o que eu preciso, filtra arquivos e stdin, com algum suporte a regex primitivo. É fornecido com o Windows e tudo mais. (Edit: Bem, alguém mencionou findstr, é tarde, eu acho)
fonte
GnuWin32Vale a pena mencionar o , ele fornece a versão Win32 nativa de todas as ferramentas padrão do Linux, incluindo grep, file, sed, groff, indent, etc.
E é atualizado constantemente quando novas versões dessas ferramentas são lançadas.
fonte
No Windows, uso o Far Manager para pesquisar arquivos. O BSD licenciado, funciona no console, economiza tempo ao digitar os parâmetros cmdline. Aqui está o diálogo de pesquisa invocado pelo Alt-F7.
fonte
Atualização: isso não era verdade quando a pergunta foi feita originalmente, mas agora a Microsoft permite instalar o Windows Subsystem for Linux , e o Windows executará o grep. No PowerShell, execute:
fonte
O UnxUtils é um ótimo conjunto de utilitários Unix que são executados no Windows. Possui grep, sed, gawk, etc.
fonte
Um utilitário de pesquisa de arquivos excelente e muito rápido, o Agent Ransack , suporta a pesquisa de expressões regulares. É principalmente um utilitário da GUI, mas também está disponível uma interface de linha de comando.
fonte
No reskit do Windows, há um utilitário chamado "qgrep". Você já pode ter na sua caixa. ;-) Ele também vem com o comando "tail", graças a Deus!
fonte
Embora não seja tecnicamente grep nem linha de comando, o Microsoft Visual Studio e o Notepad ++ possuem um recurso Find in Files muito bom, com suporte completo a expressões regulares. Encontro-me usando-os com freqüência, embora também tenha a versão CygWin do grep disponível na linha de comando.
fonte
Vou adicionar meus US $ 0,02 a esta discussão. O dnGREP é uma excelente ferramenta grep de código aberto para Windows que suporta desfazer, integração com o Windows Explorer, pesquisa em PDFs, zips, DOCs e muitas outras coisas ...
fonte
Sim, existe apenas um programa para Windows PC que possui uma interface gráfica sólida e é um utilitário essencial para mim. Eu trabalho como desenvolvedor e, em todos os computadores que tenho, instale o programa XFind. Foi criado em 1997 e até agora a versão é 1.0 e até agora funciona e é a melhor. Freqüentemente eu preciso pesquisar alguma string em um " .cs", " .aspx", " .sct" (arquivo de código de formulário do Visual FoxPro) ou apenas " . *" E o XFind verifica todos os arquivos, mostra-me e outra grande coisa é que você pode procurar onde a string está no arquivo O XFind também possui algum tipo de editor. Se for um arquivo binário, ele mostrará a string encontrada. Experimente e use-o para sempre, se você é um desenvolvedor como eu.
fonte
Obviamente, você recebeu muitas recomendações diferentes.
Minha escolha pessoal para um utilitário gratuito e de terceiros é: Agent Ransack
Download do Agent Ransack
Apesar do nome um tanto confuso, ele funciona bem e pode ser usado de várias maneiras para encontrar arquivos.
Boa sorte
fonte
o busybox all-in-one contém grep / egrep / sed / awk e MUITO mais
obtê-lo de:
Atualização: não está mais disponível - ou alguns
fonte
O Bare Grep é bom se você quiser uma GUI. Gnu grep é bom para CLI
fonte
Se você não se importa com um produto pago, o PowerGREP é o meu favorito.
fonte
Recentemente, usamos o PowerGREP para algumas operações em massa bastante avançadas em milhares de arquivos. Incluindo pesquisa regex no conteúdo de arquivos PDF e alteração de documentos PDF em larga escala.
Vale o dinheiro se você quiser economizar tempo com mão de obra manuel. Você pode experimentá-lo antes de comprar, eu acho.
fonte
Se você precisar usar o Windows vazio, além da opção Powershell mencionada acima, poderá usar o VBScript, que possui suporte RegEx decente.
A MS também possui uma área de scripts decente no Technet, com muitos exemplos para administradores.
fonte
Basta tentar o utilitário LikeGrep java. Isso pode ajudá-lo em muitos casos. Como desejar, ele também pode substituir algum texto encontrado nos arquivos. Garante seu trabalho em arquivos grandes (até 8 Gb testados)
fonte
Como mencionado acima, o projeto gnuwin32 possui uma versão CLI do Windows do grep.
Se você quer algo com uma interface gráfica, eu recomendaria a ferramenta (de código aberto) AstroGrep .
fonte
Já faz um tempo desde que eu os usei, mas o Borland (Embarcadero agora) incluiu uma linha de comando grep com seu compilador C / C ++. Por algum tempo, eles disponibilizaram sua versão 5.5 como um download gratuito após o registro.
fonte
Existe um utilitário comercial grep disponível na Oak Road Systems .
fonte
Eu recomendo o PowerGrep
Eu tive que fazer um projeto de descoberta eletrônica há vários anos. Eu descobri que
fisdstr
tinha algumas limitações, principalmente o fisdstr acabaria falhandoo script teve que pesquisar milhares de arquivos usando algumas dúzias de termos / frases de pesquisa.
O grep de Cygwin funcionou muito melhor , não engasgou com frequência, mas no final fui ao PowerGrep porque a interface gráfica tornava muito mais fácil saber quando e onde ele travava, e também era muito fácil editar todos os condicionais e resultados que Eu queria. Por fim, o PowerGrep foi o mais confiável dos três.
fonte
Eu sei que é um tópico um pouco antigo, mas aqui está outra coisa que você pode fazer. Eu trabalho em uma VM de desenvolvedor sem acesso à Internet e espaço em disco livre bastante limitado, então usei o java instalado nela.
Compile um pequeno programa java que imprime correspondências de regex no console. Coloque o jar em algum lugar do seu sistema, crie um lote para executá-lo e adicione a pasta à sua variável PATH:
JGrep.java:
c: \ jgrep \ jgrep.bat (junto com jgrep.jar):
e adicione c: \ jgrep no final da variável de ambiente PATH.
Agora basta ligar
jgrep "expression" file.txt
de qualquer lugar.Eu precisava imprimir alguns grupos específicos da minha expressão, então adicionei um modificador e chamei assim
jgrep -printGroup=1 "expression" file.txt
.fonte
Sei que é uma pergunta antiga, mas me deparei com este post procurando uma resposta. E eu encontrei um para adicioná-lo aqui para a memória coletiva da Internet
Powershell: Módulo de cadeia de seleção: Microsoft.PowerShell.Utility
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-string
e uma postagem de blog informativa com exemplos avançados: "Como" grep "no PowerShell" https://antjanus.com/blog/web-development-tutorials/how-to-grep-in-powershell/
Um exemplo simples dessa postagem no blog: cat package.json | Webpack Select-String -Pattern ls ./src/components/ | Visualização Select-String -Pattern
C:> cat post.md | Padrão de cadeia de caracteres de seleção "^ \ w *:"
fonte
Use Cygwin ...
possui versões de 32 e 64 bits
e funciona bem do Windows 2000 (*)
ao Windows 10 ou Server 2019
Eu uso o Cygwin por um longo tempo ...
e recentemente tentei substituir o Windows-Linux-Subsystems ...
não por muito tempo ...
voltei rapidamente para Cygwin novamente ...
muito mais flexível, controlável e rico ...
também menos invasivo ...
basta adicionar \ bin ao caminho ...
e você pode usá-lo em qualquer Windows / Batch / Powershell ...
ou em uma DOS-Box ... ou em uma Powershell-Box ...
Além disso, você pode instalar uma tonelada de ótimos pacotes
que realmente funcionam ... como nginX ou PHP ... Eu até uso o pacote PHP Cygwin no meu IIS ...
Como bônus, você também pode usá-lo a partir de um shell bash ...
(Eu acho que essa era a intenção original ;-))
fonte