Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO]Sobre encontrar un patrón que se repite muchas veces en un archivo

  • 5 Respuestas
  • 2317 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Hu3c0

  • *
  • Underc0der
  • Mensajes: 434
  • Actividad:
    0%
  • Reputación 0
  • In the middle Netbeans
    • Ver Perfil
« 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.
« Última modificación: Octubre 27, 2016, 08:24:25 am por PikachuDorado »

Desconectado fudmario

  • *
  • Cramel
  • *
  • Mensajes: 197
  • Actividad:
    0%
  • Reputación 13
    • Ver Perfil
    • fudmario - GitHub
  • Skype: fudmario
« Respuesta #1 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.
« Última modificación: Octubre 26, 2016, 01:30:54 pm por fudmario »


Desconectado Hu3c0

  • *
  • Underc0der
  • Mensajes: 434
  • Actividad:
    0%
  • Reputación 0
  • In the middle Netbeans
    • Ver Perfil
« Respuesta #2 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

Desconectado sadfud

  • *
  • Moderador
  • Mensajes: 182
  • Actividad:
    0%
  • Reputación 9
    • Ver Perfil
    • Blog
  • Skype: SadFud
« Respuesta #3 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




Un saludo
Si necesitas ayuda, no dudes en mandar MP

Desconectado Hu3c0

  • *
  • Underc0der
  • Mensajes: 434
  • Actividad:
    0%
  • Reputación 0
  • In the middle Netbeans
    • Ver Perfil
« Respuesta #4 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.

Desconectado PikachuDorado

  • *
  • Underc0der
  • Mensajes: 372
  • Actividad:
    0%
  • Reputación 1
  • Im just a Pikachu
    • Ver Perfil
    • Soporte Ava
« Respuesta #5 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~
Pikaa~


 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 21465
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 9519
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 8168
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 12495
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 10698
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon