Con un poco de maña (y Perl), no necesitas crear 17 programas distintos...Stoner escribiste:A continuación hago 17 scripts en Perl:
Mira:
Using bash Syntax Highlighting
- $ perl -E '$x = "xaa"; say $x++ for 1 .. 17'
- xaa
- xab
- xac
- xad
- xae
- xaf
- xag
- xah
- xai
- xaj
- xak
- xal
- xam
- xan
- xao
- xap
- 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.