¿Cuáles son buenas herramientas grep para Windows? [cerrado]
¿Alguna recomendación sobre herramientas grep para Windows? Idealmente, aquellos que puedan aprovechar el sistema operativo de 64 bits.
Conozco Cygwin , por supuesto, y también encontré PowerGREP , pero me pregunto si hay gemas ocultas por ahí.
FINDSTR es bastante potente, admite expresiones regulares y tiene las ventajas de estar ya en todas las máquinas con 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
Uso de ejemplo: findstr text_to_find *
o para buscar recursivamentefindstr /s text_to_find *
Según las recomendaciones de los comentarios, comencé a usar grepWin y es fantástico y gratuito .
(Todavía soy fanático de PowerGREP , pero ya no lo uso).
Sé que ya lo mencionaste, pero PowerGREP es increíble .
Algunas de mis funciones favoritas son:
- Haga clic derecho en una carpeta para ejecutar PowerGREP en ella
- Utilice expresiones regulares o texto literal
- Especificar comodines para archivos que se incluirán y excluirán
- Buscar y reemplazar
- El modo de vista previa es bueno porque puedes asegurarte de que estás reemplazando lo que deseas.
Ahora me doy cuenta de que las otras herramientas grep pueden hacer todo lo anterior. Es sólo que PowerGREP empaqueta toda la funcionalidad en una GUI muy fácil de usar.
De las mismas personas maravillosas que te trajeron RegexBuddy y con quienes no tengo ninguna 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
- ENCONTRARSTR
- Seleccionar cadena en PowerShell
Implementaciones de comandos de Linux en Windows
- Cygwin
- Dinero
Herramientas grep con interfaz gráfica
- AstroGrep
- desnudogrep
- GrepWin
Herramientas Grep adicionales
- dnGrep
GrepWin es gratuito y de código abierto (GPL)
He estado usando grepWin, que fue escrito por uno de los chicos de TortoiseSVN . Hace el trabajo en Windows...
Actualización de julio de 2013:
Otra herramienta grep que uso todo el tiempo en Windows es AstroGrep :
Su capacidad para mostrarme algo más que la búsqueda de líneas (es decir, --context=NUM de un grep de línea de comandos) es invaluable.
Y es rápido. Muy rápido, incluso en una computadora vieja sin unidad SSD (lo sé, solían hacer este disco duro con discos giratorios , llamados platos , una locura, ¿verdad?)
Es gratis.
Es portátil (archivo zip simple para descomprimir).
Respuesta original de octubre de 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 'find', de GnuWin32 ), ¡realmente puedes escribir scripts como si estuvieras en Unix!
Vea también las opciones que estoy usando para grep recursivamente :
grep --include "*.xxx" -nRHI "my Text to grep" *