• Publicidad

Comparar líneas de archivos muy grandes

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: Comparar líneas de archivos muy grandes

Notapor explorer » 2012-09-19 18:49 @826

Stoner escribiste:A continuación hago 17 scripts en Perl:
Con un poco de maña (y Perl), no necesitas crear 17 programas distintos...

Mira:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. $ perl -E '$x = "xaa"; say $x++ for 1 .. 17'
  2. xaa
  3. xab
  4. xac
  5. xad
  6. xae
  7. xaf
  8. xag
  9. xah
  10. xai
  11. xaj
  12. xak
  13. xal
  14. xam
  15. xan
  16. xao
  17. xap
  18. xaq
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

El resultado puede ser bastante ineficiente o muy eficiente. Depende de la cantidad de coincidencias que se encuentren los programas.

La verdad, si hubieras resuelto el problema de la ordenación, estoy seguro que la solución de ir comparando los dos archivos a la vez, sería más óptima (y rápida).

Lo que dice pvaldez de usar read() y sysread(), no es aplicable a este caso, ya que estamos hablando de líneas de texto. Se podrían usar, desde luego, pero habría que añadir la complejidad de buscar un final de línea en cada lectura.

Además, la cantidad de memoria que aporta readline o <> no es tanta comparada con read o sysread.

El verdadero problema se llama 16Gb.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados