GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo agregar una línea en un archivo comprimido sin descomprimir?

Desde man gzip puedes leer eso gzip los archivos ped simplemente se pueden concatenar:

USO AVANZADO Se pueden concatenar varios archivos comprimidos. En este caso, gunzip extraerá todos los miembros a la vez. Por ejemplo:

        gzip -c file1  > foo.gz
        gzip -c file2 >> foo.gz

  Then

        gunzip -c foo

  is equivalent to

         cat file1 file2

Esto también se puede hacer usando cat para el gzip archivos ped, por ejemplo:

seq 1 4 > A && gzip A
echo 5 > B && gzip B
#now 1 to 4 is in A.gz and 5 in B.gz, we want 1 to 5 in C.gz:
cat A.gz B.gz > C.gz && zcat C.gz
1
2
3
4
5
#or for appending B.gz to A.gz:
cat B.gz >> A.gz

Para hacerlo sin un archivo externo para agregar su línea, haga lo siguiente:

echo "this is the new line" | gzip - | cat - >> original_file.gz

¿Qué tan grande es su mesa de empleados? A menos que tenga un millón de empleados y cada registro ocupe miles de bytes, probablemente ni siquiera valga la pena molestarse en comprimir la salida.

Es casi seguro que no vale la pena molestarse en comprimirlo mientras se crea el archivo de salida, entonces, ¿por qué no solo generar texto sin comprimir? Ejecute count=$(wc -l out1) ; echo "T$count" >> out1 y luego comprimirlo con gzip out1 ?

alternativamente, simplemente ejecute alguna variación de select count(*) from employee antes del spool off comando.


Estaba luchando con un desafío similar:agregar algunas líneas a un volcado de sql comprimido. Mi solución se basó en la respuesta de @Fiximan

echo 'append this string' | gzip >> out.gz

Linux
  1. ¿Cómo mover una línea en un archivo de texto hacia arriba o hacia abajo una línea?

  2. ¿Cómo agregar la salida a un archivo?

  3. VIM:cómo ir a la línea exacta en Ubuntu

  4. ¿Cómo agrego texto a un archivo?

  5. grep sin mostrar ruta/archivo:línea

Cómo leer un archivo línea por línea en Bash

Cómo ejecutar el comando Sudo sin contraseña

Cómo encontrar las líneas más largas en un archivo en Linux

Cómo extraer el archivo Tar.xz en la línea de comandos de Linux

¿Cómo usar el comando Gzip en Linux?

¿Cómo usar gzip en Linux?