Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Hu3c0 en Octubre 19, 2016, 06:26:29 PM

Título: [SOLUCIONADO]Sobre encontrar un patrón que se repite muchas veces en un archivo
Publicado por: Hu3c0 en Octubre 19, 2016, 06:26:29 PM
Hola estimados amigos de underc0de vengo humildemente a preguntarles si conocen cómo realiza mi siguiente  requerimiento:

Necesito encontrar un Patrón que se repite muchas veces  en un archivo de texto sin conocer como es ese Patrón mi logica me
dice, como sé que ese Patrón es mayor a 6 cifras  sería colocar el pointer en el principio del archivo,coger 6 cifras y crear un
Regex,leer con un buffer el archivo y con un matcher encontrar el pattern creado osea el Patrón.

El siguiente paso sería colocar el pointer en el segundo byte y realizar exactamente la misma operación a medida que se vayan
encontrando Patrones ingresarlos en algún  tipo de  datos tanto el Patrón encontrado como las veces que  se repite.

No sé si es correcto mi algoritmo ohh seguramente habrán mejores formas de reaiizarlo evitando el consumo de recursos tanto
a  nivel  pc como en tiempo.

Si tienen conocimiento sobre lo que quiero realizar y pueden aportar algo de luz es bienvenidad $_gracias => por leer.
Título: Re:[Pregunta] Sobre encontrar un patrón que se repite muchas veces en un archivo
Publicado por: fudmario en Octubre 26, 2016, 01:15:41 PM
Hola,

Como no indicas el lenguaje en que quieres desarrollar el algoritmo, te voy  a mostrar un articulo que encontré y que muestra las formas más rápidas de comprobar si una cadena está contenida dentro de otra cadena y ademas hace la comparativa en tiempo de ejecución de los diferentes métodos.








Saludos.
Título: Re:[Pregunta] Sobre encontrar un patrón que se repite muchas veces en un archivo
Publicado por: Hu3c0 en Octubre 26, 2016, 02:37:01 PM
Muchas gracias como siempre Fudmario  eres el espíritu positivo de las cosas y del buenhacer.

El lenguaje de programación va a ser en Java y el tema es un archivo por ejemplo de 10MG
El requerimiento es encontrar la palabra que más se repite en ese archivo sin conocerla, lo que
si sabemos es que su longitud es superior a 7 caracteres.


Imaginemos que el archivo empieza asi:

ABCDEFGHIJKMNLLLÑOPQRSTUVWXYZ.........................................................................

Lo que yo había pensado hacer es coger los 7 primeros caracteres ABCDEFG en un pattern
a continuación leer el archivo fila a fila  y con un mattcher encontrar posibles candidatos si
va encontrando en su camino de lectura  entonces un contador va registrando esas entradas
por ejemplo ABCDEFG= 1000 coincidencias.

A continuación una vez termina de leer todo el file comenzaría desplazando el pointer con
RandomAccesFile  hacía el segundo caracter, o habiendo creado una Itineración con un bucle
for y colocarme el la siquiente posición:

BCDEFGH este sería el nuevo Pattern y realizaría nuevamente la lectura del archivo encon-
trando o no.! las coincidencias en su lectura.

Y así sucesivamente hasta  finalizar la totalidad del archivo es como finalmente he decidido
hacerlo lo que desconozco es si es viable o no..! en tiempos de ejecución y consumo de re-
cursos.

¿Quizás hayan formas más rápidas y mejores de realizarlo?

Abrazos amigo mío
Título: Re:[Pregunta] Sobre encontrar un patrón que se repite muchas veces en un archivo
Publicado por: sadfud en Octubre 27, 2016, 06:45:00 AM
Buenas hu3co, no me quedo claro si lo que quieres es programarlo o algo para hacerlo.
Supongo que lo que tendra es un texto cifrado del que no sabes la longitud de la clave por eso te dejo esta web http://www.palabrasque.com/contador-de-palabras/ en tipo de analisis si marcas todos los analisis te dara estadisticas de aparicion de caracteres, asi como patrones que se repiten que es lo que tu preguntabas, con grafico y el %.

Te dejo un par de fotos de como muestra los resultados
(https://i.gyazo.com/ceea5d285b242f83b9392e6b92257134.png)

(https://i.gyazo.com/c84bccf60fcef2f34f82b4fdb45c8db5.png)

Un saludo
Título: Re:[Pregunta] Sobre encontrar un patrón que se repite muchas veces en un archivo
Publicado por: Hu3c0 en Octubre 27, 2016, 06:58:21 AM
Excelente aporte va para mi baúl de url's mi estimado amigo inde........es.Aunque procederé a codearlo en Java se
puede considerar solucionado el thread y muchísimas gracias  por haber compartido vuestra ayuda y tiempo.
Título: Re:[SOLUCIONADO]Sobre encontrar un patrón que se repite muchas veces en un archivo
Publicado por: PikachuDorado en Octubre 27, 2016, 08:25:12 AM
Damos el tema por solucionado, pero como ya saben, si se genera alguna duda sobre el mismo tema pueden tranquilamente seguir comentando.

Pikaaa~