grepwin - pdfgrep windows
¿Cuáles son las buenas herramientas grep para Windows? (28)
¿Alguna recomendación sobre herramientas grep para Windows? Idealmente aquellos que podrían aprovechar el sistema operativo de 64 bits.
Soy consciente de Cygwin , por supuesto, y también he encontrado PowerGREP , pero me pregunto si hay gemas ocultas por ahí.
Basado en las recomendaciones de los comentarios, comencé a usar grepWin y es fantástico y gratis .
(Todavía soy un fan de PowerGREP , pero ya no lo uso).
Sé que ya lo mencionaste, pero PowerGREP es increíble .
Algunas de mis características favoritas son:
- Haga clic derecho en una carpeta para ejecutar PowerGREP en ella
- Usa expresiones regulares o texto literal.
- Especifique comodines para los archivos a incluir y excluir
- Buscar y reemplazar
- El modo de vista previa es bueno porque puedes asegurarte de reemplazar lo que pretendes.
Ahora me doy cuenta de que las otras herramientas grep pueden hacer todo lo anterior. Es solo que PowerGREP agrupa toda la funcionalidad en una GUI muy fácil de usar.
De las mismas personas maravillosas que te trajeron RegexBuddy y con las que no tengo afiliación más allá de amar sus cosas. (Cabe señalar que RegexBuddy incluye una versión básica de grep (para Windows) y cuesta mucho menos que PowerGREP.)
Soluciones adicionales
Comandos existentes de Windows
- FINDSTR
- Select-String en PowerShell
Implementaciones de comandos de Linux en Windows
Herramientas Grep con una interfaz gráfica.
Herramientas adicionales de Grep
Actualización de julio de 2013:
Otra herramienta grep que ahora uso en Windows es AstroGrep :
Su capacidad para mostrarme más que solo la búsqueda de líneas (es decir, el --context = NUM de un grep de línea de comandos) es invaluable.
Y es rápido. Muy rápido, incluso en una computadora vieja con una unidad que no es SSD (lo sé, solían hacer este disco duro con discos giratorios , llamados platters , locos, ¿no?)
Es gratis.
Es portátil (simple archivo zip para descomprimir).
Respuesta original octubre 2008
Gnu Grep está bien
Puedes descargarlo por ejemplo aquí: ( sitio ftp )
Todas las opciones habituales están aquí.
Eso, combinado con gawk y xargs (incluye "buscar", de GnuWin32 ), ¡y realmente puedes escribir como si estuvieras en Unix!
Vea también las opciones que estoy usando para grep recursivamente :
grep --include "*.xxx" -nRHI "my Text to grep" *
Bueno, al lado del puerto de Windows del GNU grep en:
también hay grep de Borland (muy similar a GNU one) disponible en el Freeware Borland''s Free C ++ Compiler (es un software gratuito con herramientas de línea de comandos).
Cygwin incluye grep. Todas las herramientas de GNU y las cosas de Unix funcionan muy bien en Windows si instala Cygwin.
El cmdlet Select-String de PowerShell estaba bien en v1.0, pero es significativamente mejor para v2.0 . Tener PowerShell integrado en las versiones recientes de Windows significa que sus habilidades aquí siempre serán útiles, sin necesidad de instalar algo.
Nuevos parámetros agregados a Select-String : el cmdlet Select-String ahora admite nuevos parámetros, como:
- -Contexto: esto le permite ver líneas antes y después de la línea de coincidencia
- -AllMatches: que le permite ver todas las coincidencias en una línea (anteriormente, solo podía ver la primera coincidencia en una línea)
- -NotMatch: Equivalente a grep -vo
- -Encodificación: para especificar la codificación de caracteres.
Encuentro conveniente crear una función gcir
para Get-ChildItem -Recurse .
, con inteligencia para pasar parámetros correctamente, y un alias ss
para Select-String
. Así que usted escribe:
gcir * .txt | ss foo
Es posible que no caiga exactamente en la categoría ''grep'', pero no podría arreglármelas en Windows sin una utilidad llamada AgentRansack . Es una utilidad de "buscar en archivos" basada en gui con soporte de expresiones regulares. Es muy simple hacer clic derecho en una carpeta, presionar "saquear ..." y encontrar archivos que contengan lo que estás buscando. Extremadamente rápido también.
Han pasado un par de años desde que hizo la pregunta, pero recomendaría AstroGrep ( http://astrogrep.sourceforge.net ).
Es gratis, de código abierto, y tiene una interfaz simple. Lo uso para buscar el código todo el tiempo.
He estado usando AJC Grep diariamente durante años. La única limitación importante que he encontrado es que las rutas de los archivos están limitadas a 255 caracteres y se detienen cuando encuentra una, en lugar de solo emitir una advertencia. Es molesto pero no sucede muy a menudo.
Lo uso en Windows 7 Ultimate de 64 bits, por lo que sus credenciales de 64 bits están bien.
He utilizado con éxito las utilidades GNU para Win32 durante bastante tiempo y tiene un buen grep, así como también tail y otros utiles gnu prácticos para win32. Evito el shell empaquetado y simplemente uso los ejecutables en el símbolo del sistema de win32.
La cola que está empaquetada es también una buena aplicación.
La cadena de selección de PowerShell es similar, no son las mismas opciones y semántica, pero sigue siendo poderosa.
Mi herramienta de elección es el nombre apropiado de Windows Grep :
- agradable simple interfaz gráfica de usuario
- soporta búsqueda y reemplazo
- Puede mostrar las líneas alrededor de las líneas encontradas.
- Puede buscar dentro de columnas en CSV y archivos de ancho fijo
Otra buena opción es MSYS . Te da un montón de otras utilidades GNU para permitirte ser más productivo.
PowerShell ha sido mencionado varias veces. Aquí es cómo usted realmente lo usaría de una manera grepish:
Get-ChildItem -recurse -include *.txt | Select-String -CaseSensitive "SomeString"
Busca recursivamente todos los archivos de texto en el árbol de directorio actual para SomeString
con sensibilidad a mayúsculas.
Aún mejor, ejecute esto:
function pgrep { param([string]$search, [string]$inc) Get-ChildItem -recurse -include $inc | Select-String -CaseSensitive $search }
Entonces hazlo:
pgrep SomeStringToSearch *.txt
Luego, para que sea realmente mágico, agregue el alias de la función a su Perfil de PowerShell y casi podrá opacar el dolor de no tener las herramientas de línea de comandos adecuadas.
Quería una herramienta gratuita de grep para Windows que le permitiera hacer clic derecho en una carpeta y hacer una búsqueda de expresiones regulares de cada archivo, sin ninguna pantalla molesta.
La siguiente es una solución rápida basada en el findstr
mencionado en una publicación anterior.
Cree un archivo de texto en algún lugar de su disco duro donde tenga herramientas de larga duración. Cambie el nombre a .bat o .cmd y pegue lo siguiente en él:
@echo off
set /p term="Search term> "
del %temp%/grepresult.txt
findstr /i /S /R /n /C:"%term%" "%~1/*.*" > "%temp%/grepresult.txt"
start notepad "%temp%/grepresult.txt"
Luego navega a la carpeta SendTo. En Windows 7, vaya a %APPDATA%/Microsoft/Windows/SendTo
y arrastre un acceso directo del archivo por lotes a esa carpeta SendTo.
Cambié el nombre del acceso directo a 1 GREP
para mantenerlo en la parte superior de la lista de SendTo.
Lo que me gustaría hacer a continuación es canalizar la salida de findstr
través de algo que generaría un archivo html para que pueda hacer clic en cada línea de salida para abrir ese archivo. Además, no creo que funcione con accesos directos a carpetas. Tendría que inspeccionar el parámetro y ver si contiene ".lnk".
Si desea una herramienta de Windows Grep fácil de usar, creé una llamada P-Grep que puedo descargar gratuitamente desde mi sitio web: www.adjutantit.com: menú de inicio, descargas.
Windows Grep parecía tener problemas con una gran cantidad de archivos, así que escribí el mío, que parece más confiable. Puede seleccionar una carpeta, hacer clic derecho y enviarla a P-Grep. La carpeta sendto se desactualiza durante la instalación.
Si ninguna de las soluciones es exactamente lo que está buscando, tal vez podría escribir un envoltorio para FindStr que haga exactamente lo que necesita.
De todos modos, FindStr es bastante bueno, por lo tanto, solo debe ser una interfaz gráfica de usuario (si lo desea) y proporcionar algunas características adicionales (como combinarla con Buscar para encontrar el número de archivos que contienen una cadena específica [mencionada anteriormente]).
Esto, por supuesto, ¡asume que tiene el requisito, el tiempo y la inclinación para hacer esto!
Siempre uso WinGREP , pero he tenido problemas al no soltar archivos.
Soy el autor de Aba Search and Replace. Al igual que PowerGREP, admite expresiones regulares, guardando patrones para su uso posterior, deshacer para reemplazos, vista previa con resaltado de sintaxis para HTML / CSS / JS / PHP, diferentes codificaciones, incluyendo UTF-8 y UTF-16.
En comparación con PowerGREP, la GUI está menos desordenada. Aba comienza a buscar instantáneamente a medida que escribe el patrón (búsqueda incremental), por lo que puede experimentar con expresiones regulares y ver los resultados inmediatamente.
Le invitamos a probar mi herramienta; Estaré feliz de responder cualquier pregunta.
Tengo Cygwin instalado en mi máquina y coloco el directorio bin de Cygwin en mi ruta ambiental, por lo que el grep de Cygwin funciona normalmente en una línea de comandos que resuelve todas mis necesidades de scripting para grep en este momento.
Usé el grep de Borland durante años, pero acabo de encontrar un patrón que no coincide. Eeeks. ¿Qué más no ha encontrado en los últimos años? Escribí un reemplazo de búsqueda de texto simple que hace recursión como grep: es FS.EXE en forja de origen.
Grep falla ...
C:/DEV>GREP GAAPRNTR /SOURCE/TPALIB/*.PRG
<no results>
windows findstr funciona ...
C:/DEV>FINDSTR GAAPRNTR /SOURCE/TPALIB/*.PRG
/SOURCE/TPALIB/TPGAAUPD.PRG:ffSPOOL(cRPTFILE, MEM->GAAPRNTR, MEM->NETTYPE)
/SOURCE/TPALIB/TPPRINTR.PRG: AADD(mPRINTER, TPACONFG->GAAPRNTR)
/SOURCE/TPALIB/TPPRINTR.PRG: IF TRIM(TPACONFG->GAAPRNTR) <> TRIM(mPRINTER[2])
/SOURCE/TPALIB/TPPRINTR.PRG: REPLACE TPACONFG->GAAPRNTR WITH mPRINTER[2]
dnGrep es una herramienta grep de código abierto para Windows. Es compatible con una serie de características interesantes, incluyendo:
- Deshacer para reemplazar
- Posibilidad de buscar haciendo clic derecho en la carpeta en el explorador
- Opciones de búsqueda avanzada como búsqueda fonética y xpath
- Buscar dentro de archivos PDF, archivos y documentos de Word
En mi humilde opinión, tiene una interfaz agradable y limpia también :)
FINDSTR es bastante potente, admite expresiones regulares y tiene las ventajas de estar ya en todas las máquinas Windows.
c:/> FindStr /?
Searches for strings in files.
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
strings [[drive:][path]filename[ ...]]
/B Matches pattern if at the beginning of a line.
/E Matches pattern if at the end of a line.
/L Uses search strings literally.
/R Uses search strings as regular expressions.
/S Searches for matching files in the current directory and all
subdirectories.
/I Specifies that the search is not to be case-sensitive.
/X Prints lines that match exactly.
/V Prints only lines that do not contain a match.
/N Prints the line number before each line that matches.
/M Prints only the filename if a file contains a match.
/O Prints character offset before each matching line.
/P Skip files with non-printable characters.
/OFF[LINE] Do not skip files with offline attribute set.
/A:attr Specifies color attribute with two hex digits. See "color /?"
/F:file Reads file list from the specified file(/ stands for console).
/C:string Uses specified string as a literal search string.
/G:file Gets search strings from the specified file(/ stands for console).
/D:dir Search a semicolon delimited list of directories
strings Text to be searched for.
[drive:][path]filename
Specifies a file or files to search.
Use spaces to separate multiple search strings unless the argument is prefixed
with /C. For example, ''FINDSTR "hello there" x.y'' searches for "hello" or
"there" in file x.y. ''FINDSTR /C:"hello there" x.y'' searches for
"hello there" in file x.y.
Regular expression quick reference:
. Wildcard: any character
* Repeat: zero or more occurances of previous character or class
^ Line position: beginning of line
$ Line position: end of line
[class] Character class: any one character in set
[^class] Inverse class: any one character not in set
[x-y] Range: any characters within the specified range
/x Escape: literal use of metacharacter x
/<xyz Word position: beginning of word
xyz/> Word position: end of word
Ejemplo de uso: findstr text_to_find *
o para buscar recursivamente findstr /s text_to_find *
UnxUtils es el que yo uso, funciona perfectamente para mí ...
Lo he estado usando para siempre y afortunadamente todavía está disponible. Es súper rápido y muy pequeño.
Git en Windows = grep en cmd.exe
Acabo de descubrir que instalar Git te dará algunos comandos básicos de Linux: cat, grep, scp y todos los demás buenos.
Instale, luego agregue la carpeta Git bin a su RUTA y luego su cmd.exe tiene la funcionalidad básica de Linux.
GrepWin Free y open source (GPL)
He estado usando grepWin, que fue escrito por uno de los tipos de tortugas. ¿El trabajo en Windows ...