¿Hay una utilidad similar grep
disponible desde el símbolo del sistema de Windows, o hay una herramienta de terceros para ello?
179
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 admite todo grep
, pero puede ser suficiente para sus necesidades.
netstat -n | FINDSTR 3389
PowerShell (incluido de serie en Windows 7 / 2008R2, opcional para XP / 2003 / Vista / 2008) que incluye el
select-string
cmdlet para este propósito.fuente
Grep para Windows por GnuWin Project (2014-10-02: Está desactualizado, vea los comentarios a continuación)
fuente
Como se mencionó, FindStr funciona bien. ejemplo:
C:> dir | encuentra Windows
11/06/2013 09:55 PM Windows
fuente
Cygwin grep y más;)
fuente
También encontré una forma más de utilizar la funcionalidad similar a GREP 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 , tiene un conjunto bastante completo de características que proporciona toda la funcionalidad de GREP y más.
Espero eso ayude.
fuente
Me sorprende que nadie haya mencionado FINDSTR . No soy grep poweruser, pero findtr hace lo que necesito para filtrar archivos y stdin, con un soporte primitivo de expresiones regulares. Se envía con Windows y todo eso. (Editar: Bueno, alguien mencionó a findtr, es tarde, supongo)
fuente
Vale la pena mencionar GnuWin32 , proporciona la versión nativa de Win32 de todas las herramientas estándar de Linux, incluidas grep, file, sed, groff, indent, etc.
Y se actualiza constantemente cuando se lanzan nuevas versiones de estas herramientas.
fuente
En Windows uso Far Manager para la búsqueda de archivos. Licencia BSD, funciona en la consola, ahorra tiempo al escribir parámetros de cmdline. Aquí está su diálogo de búsqueda invocado por Alt-F7.
fuente
Actualización: esto no era cierto cuando la pregunta se hizo originalmente, pero ahora Microsoft permite instalar el subsistema de Windows para Linux , y Windows ejecutará grep. En PowerShell, ejecute:
fuente
UnxUtils es un gran conjunto de utilidades de Unix que se ejecutan en Windows. Tiene grep, sed, gawk, etc.
fuente
Una herramienta de búsqueda de archivos excelente y muy rápida, Agent Ransack , admite la búsqueda de expresiones regulares. Es principalmente una utilidad GUI, pero también está disponible una interfaz de línea de comandos.
fuente
En el reskit de Windows hay una utilidad llamada "qgrep". Puede que ya lo tenga en su caja. ;-) También viene con el comando "cola", ¡gracias a Dios!
fuente
Aunque técnicamente no es grep ni línea de comando, tanto Microsoft Visual Studio como Notepad ++ tienen una muy buena función Buscar en archivos con soporte completo de expresiones regulares. Me encuentro usándolos con frecuencia a pesar de que también tengo la versión CygWin de grep disponible en la línea de comandos.
fuente
Agregaré mis $ 0.02 a este hilo. dnGREP es una gran herramienta grep de código abierto para Windows que admite deshacer, la integración del explorador de Windows, buscar dentro de archivos PDF, zips, DOC y muchas otras cosas ...
fuente
Sí, solo hay un programa para PC con Windows que tiene una GUI sólida y es una utilidad esencial para mí. Trabajo como desarrollador y en cada computadora que he tenido, lo primero es instalar 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 alguna 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 se trata de un archivo binario, le mostrará una cadena de búsqueda. Pruébalo y úsalo para siempre si eres desarrollador como yo.
fuente
Obviamente has recibido muchas recomendaciones diferentes.
Mi elección personal para una utilidad gratuita de terceros es: Agent Ransack
Agent Ransack Download
A pesar de su nombre algo confuso, funciona bien y se puede utilizar de varias maneras para encontrar archivos.
Buena suerte
fuente
el busybox todo en uno contiene grep / egrep / sed / awk y MUCHOS más
obtenerlo de:
Actualización: ya no está disponible, o algunas más antiguas
fuente
Bare Grep es bueno si quieres una GUI. Gnu grep es bueno para CLI
fuente
Si no le importa un producto pagado, PowerGREP es mi favorito personal.
fuente
Recientemente hemos usado 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 si quieres ahorrar tiempo de mano de obra. Puedes probarlo antes de comprar, creo.
fuente
Si tiene que usar Windows desnudo, además de la opción Powershell mencionada anteriormente, puede usar VBScript, que tiene un soporte decente de RegEx.
MS también tiene un área de scripting decente en Technet con un montón de ejemplos para administradores.
fuente
Simplemente pruebe la utilidad LikeGrep java. Puede ayudarte en muchos casos. Como lo desee, también puede reemplazar parte del texto que se encuentra en los archivos. Garantiza su trabajo en archivos grandes (hasta 8 Gb probados)
fuente
Como se mencionó anteriormente, el proyecto gnuwin32 tiene una versión CLI de Windows de grep.
Si desea algo con una interfaz gráfica, le recomendaría la herramienta (de código abierto) AstroGrep .
fuente
Ha pasado un tiempo desde que los usé, pero Borland (Embarcadero ahora) incluyó una línea de comando grep con su compilador C / C ++. Durante algún tiempo, han puesto a disposición su versión 5.5 como descarga gratuita después de registrarse.
fuente
Hay una utilidad comercial grep disponible de Oak Road Systems .
fuente
Recomiendo PowerGrep
Tuve que hacer un proyecto de descubrimiento electrónico hace varios años. Descubrí que
fisdstr
tenía algunas limitaciones, especialmente fisdstr eventualmente fallaríael script tuvo que buscar en miles de archivos usando un par de docenas de términos / frases de búsqueda.
El grep de Cygwin funcionó mucho mejor , no se ahogaba con frecuencia, pero finalmente fui a PowerGrep porque la interfaz gráfica me hizo mucho más fácil saber cuándo y dónde se bloqueó, y también fue muy fácil de editar en todos los condicionales y resultados que Quise. Finalmente, PowerGrep fue el más confiable de los tres.
fuente
Sé que es un tema un poco viejo, pero aquí hay otra cosa que puedes hacer. Trabajo en una máquina virtual de desarrollador sin acceso a Internet y espacio libre en disco bastante limitado, así que hice uso de Java instalado en él.
Compile un pequeño programa Java que imprima coincidencias de expresiones regulares en la consola. Coloque el jar en algún lugar de su sistema, cree un lote para ejecutarlo y agregue la carpeta a su variable PATH:
JGrep.java:
c: \ jgrep \ jgrep.bat (junto con jgrep.jar):
y agregue c: \ jgrep al final de la variable de entorno PATH.
Ahora simplemente llame
jgrep "expression" file.txt
desde cualquier lugar.Necesitaba imprimir algunos grupos específicos de mi expresión, así que agregué un modificador y lo llamé como
jgrep -printGroup=1 "expression" file.txt
.fuente
Me doy cuenta de que es una vieja pregunta, pero encontré esta publicación buscando una respuesta. Y he encontrado uno, así que lo agregué aquí para la memoria colectiva de Internet
Powershell: Módulo Select-String: Microsoft.PowerShell.Utility
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-string
y una publicación de blog informativa con ejemplos avanzados: "Cómo" grep "en PowerShell" https://antjanus.com/blog/web-development-tutorials/how-to-grep-in-powershell/
Un ejemplo simple de esa publicación de blog: cat package.json | Select-String -Pattern webpack ls ./src/components/ | Seleccionar cadena de vista de patrón
C:> gato post.md | Select-String -Pattern "^ \ w *:"
fuente
Usa Cygwin ...
Tiene versiones de 32 y 64 bits
y funciona bien desde Windows 2000 (*)
hasta Windows 10 o Server 2019
Uso Cygwin durante mucho tiempo ...
y recientemente intenté sustituirlo por Windows-Linux-Subsystems ...
no por mucho tiempo ...
volví rápidamente a Cygwin nuevamente ...
mucho más flexible, controlable y rico ...
también menos intrusivo ...
simplemente agregue \ bin a la ruta ...
y puede usarlo en Windows / Batch / Powershell ...
o en un DOS-Box ... o en un Powershell-Box ...
También puede instalar una tonelada de paquetes geniales
que realmente funcionan ... como nginX o PHP ... Incluso uso el paquete Cygwin PHP en mi IIS ...
Como beneficio adicional, también puedes usarlo desde un bash shell ...
(Creo que esta fue la intención original ;-))
fuente