Búsqueda de texto en un árbol de directorios, sin necesidad de crear ningún tipo de índice de antemano

Estoy buscando un programa gratuito de Windows para buscar a través de un árbol de directorios y encontrar todos los archivos que contengan una cadena dada.

Debe tener :
- Windows
- Gratis
- NO debe crear ni depender de ningún índice u otro tipo de base de datos
- para cada archivo coincidente, muestre la(s) línea(s) coincidente(s)
- busque archivos de texto

Es bueno tener :
- Linux
- mostrar líneas X antes/después del partido
- buscar en archivos (al menos ZIP, 7Z y RAR) - buscar archivos PDF
- buscar archivos de MS Word (y Excel y PowerPoint)
- buscar Open/Libre Office archivos
- recuento de archivos/líneas coincidentes
- use comodines*y?en la cadena de búsqueda
- especifique la cadena como expresión regular
- haga clic en el archivo encontrado para abrirlo
- especifique tamaños de archivo, fechas, etc.
- busque nuevamente una nueva cadena dentro de los resultados de búsqueda actuales

Tenga en cuenta que Agent Ransack hace mucho de esto, pero algunas de las características "agradables de tener" no están disponibles en la versión gratuita (ni tiene una versión de Linux). ¿Algo más marca más elementos?


[Actualización] Ultra File Search también se ve bien


[Actualización++] Me gusta mucho, mucho , mucho SearchMonkey en Linux, así que cualquiera que busque una solución solo para Linux, échele un vistazo. Por desgracia, la versión de Windows, aunque ofrece comodines en los nombres de archivo y muestra un panel de vista previa con líneas coincidentes, no me permite especificar cuántas líneas alrededor del hit veo y no permite buscar con expresiones regulares :-(

Pero, AstroGrep es una gran combinación para Windows (quizás incluso con algunas pequeñas funciones adicionales). Entonces, eso es uno para cada o/s; por desgracia, no es el mismo.

Esa es mi solución personal. YMMV

Existen varias herramientas que no cumplen con todos sus requisitos. ¿Ha intentado ponerse en contacto con los desarrolladores de estas herramientas y pedirles que agreguen las funciones que desea?

Respuestas (2)

ENCONTRAR

El terminal de comandos de Windows tiene un FINDSTRcomando que puede usar para buscar una cadena en un conjunto de archivos. Hay cierta documentación a la que me refiero regularmente cuando necesito usarla.

Coincidencias de criterios:

Como es de MS-DOS, asumo que no usa ni crea un índice; ciertamente no se vuelve más rápido si ejecuto la misma búsqueda una y otra vez.

Maneja comodines y un sabor de expresiones regulares.

Puede imprimir el número de línea y la línea donde encontró la cadena. También puede imprimir los nombres de los archivos donde se encontró la cadena.

Linux tiene grep, que hace lo mismo.

Fallos de criterio:

No puede buscar dentro de los archivos por sí mismo, aunque podría usarse en una secuencia de comandos por lotes que extrae los archivos a un directorio temporal cuando se encuentran y los limpia después de sí mismo.

No creo que pueda buscar documentos de MS Word o PDF; está diseñado para texto sin formato en lugar de archivos binarios.

No tiene una función para mostrar los tamaños de los archivos y las fechas creadas/modificadas, pero puede canalizar su salida a un archivo de texto y usarlo para obtener los tamaños y las fechas de los archivos usando otro programa de línea de comandos.

Funciones adicionales que no solicitó pero que le podrían gustar:

Puede usar un archivo para especificar qué archivos/directorios buscar.

Puede usar un archivo para especificar múltiples cadenas de búsqueda.

Rara vez trabajo en Windows, pero a veces tengo que hacerlo. En esos casos, a menudo usaba File Commander , que es un clon de Norton Commander, disponible en varias plataformas:

File Commander es un administrador de archivos ortodoxo en modo texto para los sistemas operativos Microsoft Windows, OS/2 y Linux […]. Es un clon mejorado de Norton Commander […]. La funcionalidad se ha ampliado considerablemente con funciones como la compatibilidad con expresiones regulares en la selección de archivos, un potente editor con capacidades de deshacer/rehacer, conciencia de red, etc.

Puede encontrar más detalles sobre él y descargarlo desde su página oficial .

Entonces, ¿cómo cumple con sus requisitos?

  • Ventanas: Sí.
  • Gratuito: Shareware. Nunca he pagado nada por las pocas veces que lo usé.
  • NO debe crear ni depender de ningún índice u otro tipo de base de datos: No, no lo hace.
  • para cada archivo coincidente, muestre la(s) línea(s) coincidente(s): Esta es una cuestión de definición. Le brinda una lista de archivos coincidentes y le ofrece abrirlo en un editor o visor, y salta a la línea coincidente.
  • búsqueda de archivos de texto: función de búsqueda de archivos que combina filtros de nombres de archivos comodín con exploración del contenido de los archivos. Permite buscar/reemplazar texto dentro de archivos coincidentes.

¿Qué hay de tus cosas bonitas?

  • Linux: Sí.
  • mostrar líneas X antes/después del partido: Bueno, muestra el archivo completo y te permite "saltar alrededor", así que sí.
  • use comodines * y ? en la cadena de búsqueda: indirectamente (use RegEx).
  • especificar cadena como expresión regular: Sí.
  • haga clic en el archivo encontrado para abrirlo: Bueno, no. Es una aplicación basada en texto, así que no hay que hacer clic. Presiona Enteren su lugar para ir al archivo, F3para abrirlo en el visor, F4para el editor :)

No puedo contarte sobre los otros puntos, ya que hace bastante tiempo desde la última vez que lo usé. En Linux, prefiero Midnight Commander (apariencia similar), e incluso en Windows lo usé a través de Cygwin ( MobaXterm lo hace fácil).

Como efecto secundario, en ambos casos tiene un administrador de archivos de modo de texto decente que es altamente personalizable (menús de usuario, reaccionar en ciertas extensiones de archivo, incluso extensible, editor integrado con resaltado de sintaxis y más).

Gracias, Izyy (+1). Por desgracia, no otorgaré la respuesta, ya que se reduce a "para cada archivo coincidente, muestre las líneas coincidentes", que es "imprescindible". Quiero ver todas las líneas coincidentes en una descripción general, a la vez. Por cierto, para Windows, recomiendo Total Commander ( ghisler.com ) por el cual pagué la tarifa del shareware hace unos 20 años (primero que pagué). No he encontrado nada que coincida en Windows o Linux. En Linux, uso Gnome Commander o Tux Commander, pero ninguno de los dos coincide. ¿Conoces un mejor clon de Norton Commander?
Ya lo pensé cuando llegué a ese punto, pero como no has sido 100% claro con tu pregunta... :) En cuanto a TC: prefiero la gestión de archivos basada en texto, incluso en Windoze :)
FAR Manager es una bifurcación mantenida con más frecuencia de Norton Commander (la misma fuente de File Commander). Tiene características similares además de la compatibilidad con el mouse y es de código abierto con una licencia BSD.
Así es, @Timmy (era shareware hace unos años). No lo mencioné ya que no está disponible para Linux. Como nota adicional al respecto: si Linux no es un requisito, es una buena opción, y también altamente extensible con una tonelada de complementos. También lo he usado hace años :)
Estamos entrando en el tema aquí, pero si alguien quiere un FOSS muy bueno, que presumiblemente también lo hace gratuito para uso comercial, de código abierto, administrador de archivos de doble panel, entonces recomiendo Double Commander
Que, olvidé decir, hace casi siete años (cómo pasa el tiempo :-), es multiplataforma, de código abierto y gratuito, incluso para uso comercial.