GNU/Linux >> Tutoriels Linux >  >> Linux

Comment spécifiez-vous les noms de fichiers dans un zip lors de sa création sur la ligne de commande à partir d'un tube ?

Vous pouvez le faire.

ls | zip test.zip [email protected]

ceci est fait à partir de la notion que j'ai 3 fichiers dans le répertoire.

-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

et le fichier lui-même, le résultat est alors

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

À partir de la page Linux Zip Man

Si la liste de fichiers est spécifiée comme [email protected],zip prend la liste des fichiers d'entrée de l'entrée standard.


Vous pouvez utiliser un canal nommé et lui envoyer la sortie de la requête tout en le compressant.

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

Je ne pouvais pas gérer avec la réponse PHP (manque de mémoire sur les gros dumps mysql), et le FIFO ne fonctionnait pas comme je le voulais, donc ma solution est de renommer le fichier dans l'archive ZIP après avoir exécuté le dump, en utilisant zipnote (qui est inclus avec le paquet zip sur Debian).

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

Linux
  1. Comment invoquer une macro Openoffice à partir de la ligne de commande Linux ?

  2. Comment réinitialiser les paramètres de sécurité Jenkins à partir de la ligne de commande ?

  3. Comment installer un script pour qu'il s'exécute n'importe où à partir de la ligne de commande ?

  4. Comment diriger le texte de la ligne de commande vers le presse-papiers

  5. Comment puis-je copier un dossier à partir de la ligne de commande Linux ?

Comment rechercher des fichiers à partir de la ligne de commande Linux

Supprimer le répertoire sous Linux - Comment supprimer un dossier de la ligne de commande

Comment savoir sur quelle version d'Os X je suis depuis la ligne de commande ?

Comment créer une boîte de message à partir de la ligne de commande ?

Comment effacer le contenu d'un fichier depuis la ligne de commande ?

Comment puis-je obtenir mon adresse IP à partir de la ligne de commande ?