GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo se especifican los nombres de archivo dentro de un zip al crearlo en la línea de comando desde una tubería?

Puedes hacer esto.

ls | zip test.zip [email protected]

esto se hace a partir de la noción de que tengo 3 archivos en el directorio.

-rw-rw-r-- 1 xxx domain users   6 Jan  7 11:41 test1.txt
-rw-rw-r-- 1 xxx domain users   6 Jan  7 11:41 test2.txt
-rw-rw-r-- 1 xxx domain users   6 Jan  7 11:41 test3.txt

y el archivo en sí, el resultado es entonces

Archive:  test.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        6  01-07-10 11:41   test1.txt
        6  01-07-10 11:41   test2.txt
        6  01-07-10 11:41   test3.txt
 --------                   -------
       18                   3 files

Desde la página Linux Zip Man

Si la lista de archivos se especifica como [email protected], zip toma la lista de archivos de entrada de la entrada estándar.


Puede usar una canalización con nombre y enviarle la salida de la solicitud, mientras la comprime.

mkfifo output.txt ; mysql [params and query] > output.txt & zip output.zip -FI output.txt ; rm output.txt

No pude arreglármelas con la respuesta de PHP (memoria insuficiente en volcados mysql más grandes), y FIFO no funcionaba como quería, por lo que mi solución es cambiar el nombre del archivo dentro del archivo ZIP después de ejecutar el volcado, usando zipnote (que se incluye con el paquete zip en Debian).

mysql [params and query] | zip -q output.zip -
echo -e "@ -\[email protected]=newname.sql" | zipnote -w output.zip

Linux
  1. ¿Cómo invocar una macro de OpenOffice desde la línea de comandos de Linux?

  2. ¿Cómo envío un correo electrónico desde la línea de comandos?

  3. ¿Cómo montar desde la línea de comandos como lo hace el Nautilus?

  4. ¿Cómo puedo ejecutar código PHP desde la línea de comandos?

  5. ¿Cómo acceder a los sockets de dominio de Unix desde la línea de comandos?

Cómo buscar archivos desde la línea de comandos de Linux

Eliminar directorio en Linux:cómo eliminar una carpeta desde la línea de comandos

¿Cómo saber en qué versión de Os X estoy desde la línea de comandos?

¿Cómo crear un cuadro de mensaje desde la línea de comandos?

¿Cómo instalo un script para que se ejecute en cualquier lugar desde la línea de comandos?

Cómo canalizar texto desde la línea de comando al portapapeles