GNU/Linux >> Linux Esercitazione >  >> Linux

Come si specificano i nomi dei file all'interno di uno zip durante la creazione sulla riga di comando da una pipe?

Puoi farlo.

ls | zip test.zip [email protected]

questo viene fatto partendo dal presupposto che ho 3 file nella dir.

-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

e il file stesso, il risultato è allora

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

Dalla pagina Linux Zip Man

Se l'elenco dei file è specificato come [email protected], zip prende l'elenco dei file di input dallo standard input.


Puoi usare una named pipe e inviargli l'output della richiesta, mentre zippi da essa.

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

Non sono riuscito a gestire la risposta PHP (memoria esaurita su dump mysql più grandi) e il FIFO non funzionava come volevo, quindi la mia soluzione è rinominare il file all'interno dell'archivio ZIP dopo aver eseguito il dump, utilizzando zipnote (che è incluso nel pacchetto zip su Debian).

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

Linux
  1. Come richiamare una macro di Openoffice dalla riga di comando di Linux?

  2. Come faccio a inviare e-mail dalla riga di comando?

  3. Come montare dalla riga di comando come fa il Nautilus?

  4. Come posso eseguire il codice PHP dalla riga di comando?

  5. Come cancellare il contenuto di un file dalla riga di comando?

Come cercare file dalla riga di comando di Linux

Rimuovi directory in Linux - Come eliminare una cartella dalla riga di comando

Come dire a quale versione di Os X mi trovo dalla riga di comando?

Come creare una finestra di messaggio dalla riga di comando?

Come ottenere l'URL del file Dropbox dalla riga di comando?

Come ottengo il mio indirizzo IP dalla riga di comando?