portable pdfgrep grepwin windows grep

pdfgrep - ¿Existe una utilidad de coincidencia de patrones como GREP en Windows?



pdfgrep windows (29)

¿Hay alguna utilidad similar a grep disponible en el símbolo del sistema de Windows o hay una herramienta de terceros para ello?


Actualización: Esto no era cierto cuando se formuló la pregunta originalmente, pero ahora Microsoft le permite a uno Instalar el Subsistema de Windows para Linux , y Windows luego ejecutará grep. En PowerShell, ejecuta:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux


Agregaré mi $ 0.02 a este hilo. dnGREP es una gran herramienta grep de código abierto para Windows que permite deshacer, integrar Windows Explorer, buscar dentro de archivos PDF, cremalleras, DOC y muchas otras cosas ...


Aunque técnicamente no es grep ni la línea de comandos, tanto Microsoft Visual Studio como Notepad++ tienen una muy buena característica Find in Files con soporte de expresiones regulares. Me encuentro usándolos frecuentemente aunque también tengo la versión CygWin de grep disponible en la línea de comando.


Como se mencionó anteriormente, el proyecto gnuwin32 tiene una versión CLI de Windows de grep.

Si quiere algo con una interfaz gráfica, le recomendaría la herramienta (fuente abierta) AstroGrep .


En Windows utilizo Far Manager para búsqueda de archivos. BSD con licencia, funciona en la consola, ahorra tiempo escribiendo los parámetros de cmdline. Aquí está su diálogo de búsqueda invocado por Alt-F7.


En el windows reskit hay una utilidad llamada "qgrep". Puede tenerlo en su caja ya. ;-) También viene con el comando "cola", ¡gracias a Dios!


Ha pasado un tiempo desde que los usé, pero Borland (Embarcadero ahora) incluyó una línea de comando grep con su compilador C / C ++. Desde hace algún tiempo, han puesto a disposición su versión 5.5 como descarga gratuita después de registrarse.


Hay una herramienta de línea de comandos llamada FINDSTR que viene con todos los sistemas operativos de clase Windows NT (escriba FINDSTR /? En una ventana del símbolo del sistema para obtener más información) No es compatible con todo grep pero puede ser suficiente para sus necesidades.



Me sorprende que nadie haya mencionado FINDSTR . No soy grep poweruser, pero findstr hace lo que necesito para filtrar archivos y stdin, con algunos primitivos de expresión regular. Se envía con Windows y todo eso. (Editar: Bueno, alguien mencionó Findtr, es tarde, supongo)


Obviamente has recibido muchas recomendaciones diferentes.
Mi elección personal para una utilidad gratuita de terceros es: Agente Ransack
Agente Ransack Descargar
A pesar de su nombre algo confuso, funciona bien y se puede usar de varias maneras para encontrar archivos.

Buena suerte


PowerShell (incluido como estándar en Windows 7 / 2008R2, opcional para XP / 2003 / Vista / 2008) que incluye el cmdlet select-string para este fin.


Recientemente hemos utilizado PowerGREP para algunas operaciones masivas bastante avanzadas en miles de archivos. Incluyendo la búsqueda de expresiones regulares en el contenido de archivos PDF y la alteración de documentos PDF a gran escala.

Vale la pena el dinero si quieres ahorrar tiempo de mano de obra manuel. Puedes probarlo antes de comprar, creo.


Recomiendo PowerGREP

Tuve que hacer un proyecto de descubrimiento electrónico hace varios años. Descubrí que el fisdstr tenía algunas limitaciones, la mayoría de las veces el fisdstr fracasaría.

el script tuvo que buscar entre miles de archivos usando un par de docenas de términos / frases de búsqueda.

El grep de Cygwin funcionó mucho mejor , no se ahogó con frecuencia, pero al final fui a PowerGrep porque la interfaz gráfica facilitaba mucho más saber cuándo y dónde se colgaba, y también era realmente fácil de editar en todos los condicionales y la salida que Quise. En última instancia, PowerGrep fue el más confiable de los tres.


Sé que es un tema un poco viejo pero, aquí hay otra cosa que puedes hacer. Trabajo en una VM de desarrollador sin acceso a Internet y con espacio de disco libre bastante limitado, así que utilicé la java instalada en ella.

Compila el pequeño programa java que imprime las correspondencias regex a la consola. Coloque el contenedor en algún lugar de su sistema, cree un lote para ejecutarlo y agregue la carpeta a su variable PATH:

JGrep.java:

package com.jgrep; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; public class JGrep { public static void main(String[] args) throws FileNotFoundException, IOException { int printGroup = -1; if (args.length < 2) { System.out.println("Invalid arguments. Usage:"); System.out.println("jgrep [...-MODIFIERS] [PATTERN] [FILENAME]"); System.out.println("Available modifiers:"); System.out.println(" -printGroup - will print the given group only instead of the whole match. Eg: -printGroup=1"); System.out.println("Current arguments:"); for (int i = 0; i < args.length; i++) { System.out.println("args[" + i + "]=" + args[i]); } return; } Pattern pattern = null; String filename = args[args.length - 1]; String patternArg = args[args.length - 2]; pattern = Pattern.compile(patternArg); int argCount = 2; while (args.length - argCount - 1 >= 0) { String arg = args[args.length - argCount - 1]; argCount++; if (arg.startsWith("-printGroup=")) { printGroup = Integer.parseInt(arg.substring("-printGroup=".length())); } } StringBuilder sb = new StringBuilder(); try (BufferedReader br = new BufferedReader(new FileReader(filename))) { sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line); sb.append(System.lineSeparator()); line = br.readLine(); } } Matcher matcher = pattern.matcher(sb.toString()); int matchesCount = 0; while (matcher.find()) { if (printGroup > 0) { System.out.println(matcher.group(printGroup)); } else { System.out.println(matcher.group()); } matchesCount++; } System.out.println("----------------------------------------"); System.out.println("File: " + filename); System.out.println("Pattern: " + pattern.pattern()); System.out.println("PrintGroup: " + printGroup); System.out.println("Matches: " + matchesCount); } }

c: / jgrep / jgrep.bat (junto con jgrep.jar):

@echo off java -cp c:/jgrep/jgrep.jar com.jgrep.JGrep %*

y agregue c: / jgrep al final de la variable de entorno PATH.

Ahora simplemente llame a jgrep "expression" file.txt desde cualquier lugar.

Necesitaba imprimir algunos grupos específicos de mi expresión, así que agregué un modificador y lo jgrep -printGroup=1 "expression" file.txt como jgrep -printGroup=1 "expression" file.txt .


Sí, solo hay un programa para PC con Windows que tiene una GUI sólida y es esencial para mí. Trabajo como desarrollador y en cada computadora que tengo, primero instalo el programa XFind. Fue creado en 1997 y hasta ahora la versión es 1.0 y hasta ahora funciona y es la mejor. Con frecuencia necesito buscar una cadena en un " .cs", " .aspx", " .sct" (archivo de código de formulario de Visual FoxPro) o simplemente " . *" Y XFind escanea todos los archivos y me muestra archivos y otra gran cosa es que puedes ver dónde está la cadena en el archivo. XFind también tiene algún tipo de editor. Si es un archivo binario, mostrará la cadena encontrada. Pruébalo y úsalo para siempre si eres desarrollador como yo.


Si instala Cygwin o Mingw, entonces sí.

De lo contrario, no tan lejos como sé.


Si no le importa un producto de pago, PowerGREP es mi favorito personal.


Si tiene que usar Windows sin protección, además de la opción Powershell mencionada anteriormente, puede usar VBScript, que tiene soporte decente para RegEx.

MS también tiene un área de scripting decente en Technet con un montón de ejemplos para los administradores.


Solo prueba la utilidad LikeGrep java. Puede ayudarte en muchos casos. Como desee, también puede reemplazar algún texto que se encuentre en los archivos. Garantiza su trabajo en archivos grandes (hasta 8 Gb probados)


También encontré una forma más de utilizar la funcionalidad GREP similar en Windows 7 y superior sin ninguna aplicación adicional para instalar y en sistemas más antiguos puede usar instalar Powershell.

En Powershell , el usuario puede usar Where-Object que tiene un conjunto bastante completo de características que proporciona toda la funcionalidad de GREP y más.

Espero eso ayude.


Una utilidad de búsqueda de archivos excelente y muy rápida, Agent Ransack , admite la búsqueda de expresiones regulares. Es principalmente una utilidad de GUI, pero también está disponible una interfaz de línea de comandos.


como se mencionó, findstr funciona bien. ejemplo:

C:> dir | Findtr Windows

11/06/2013 09:55 PM Windows



GnuWin32 pena mencionar GnuWin32 , proporciona la versión Win32 nativa de todas las herramientas estándar de Linux, incluyendo grep, file, sed, groff, indent, etc.

Y se actualiza constantemente cuando se lanzan nuevas versiones de estas herramientas.



UnxUtils es un gran conjunto de utilidades de Unix que se ejecutan en Windows. Tiene grep, sed, gawk, etc.