He escrito un programa de procesamiento de archivos y ahora tiene que leer de un archivo comprimido (.gz archivo descomprimido puede conseguir tan grande como 2 TB),usando sed en un archivo comprimido
¿Existe un equivalente sed de cremallera archivos como (zcat/gato) o de lo contrario lo que sería el mejor enfoque para hacer la siguiente manera eficiente
ONE=`zcat filename.gz| sed -n $counts`
$ conteos: contador de leer (línea por línea)
funciona el método anterior, pero es bastante lento para archivos grandes ya que necesito leer cada línea y realizar la coincidencia en ciertos campos.
Gracias
EDIT
Aunque no directamente útil, aquí hay un conjunto de zcommands
http://www.cyberciti.biz/tips/decompress-and-expand-text-files.html
Trabajar en un archivo comprimido será lento de todos modos. – Nobody
Mi opinión es que descomprimir un archivo y leer a través de un conducto ** es ** la forma más eficiente de abrir temporalmente un archivo zipilado y obtener un resultado. No tienes que perder tiempo reescribiendo el archivo cuando hayas terminado. Es más probable que pueda mejorar la eficiencia de su operación general asegurándose de que su código 'sed' esté completamente optimizado O, más probablemente, utilizando uno de awk, perl, python para hacer su cálculo. Buena suerte. – shellter
gracias .. si no está comprimido, el tamaño del archivo cruzará 2TB ... por lo que no es factible para mi infraestructura ... – learner