2009-11-24 5 views

Répondre

51

Vous pouvez utiliser gzip *


Note:

  • Cela zip chaque fichier individuellement et SUPPRIMER l'original. Utilisez l'option -k (--keep) pour conserver les fichiers d'origine.
  • Cela ne peut fonctionner que si vous avez un grand nombre de fichiers en raison des limites de l'enveloppe
  • Pour exécuter gzip en parallèle see @MarkSetchell's answer below.
2

Essayez une boucle

$ for file in *; do gzip "$file"; done 
13

Si vous voulez gzip chaque fichier récursive, vous pouvez utiliser trouver canalisée à xargs:

$ find . -type f -print0 | xargs -0r gzip 
+10

Pas besoin de trouver + xargs. Gzip peut gérer la récursivité elle-même: 'gzip -9r .' – Idelic

+2

Comme toujours,' find. -type f -print0 | xargs -0r gzip' est meilleur. – musiphil

+1

Pour l'équivalent de 'gzip *', vous pouvez aussi avoir besoin de '-maxdepth 1' dans' find'. – musiphil

6

facile et réponse très rapide qui utiliseront tous vos cœurs de processeurs en parallèle:

parallel gzip ::: * 
+0

Eh, cette réponse a besoin de plus de votes upvotes! – zx8754

+1

@ zx8754 ** GNU Parallel ** est un outil fantastique qui devrait être utilisé beaucoup plus dans ce monde où les processeurs n'obtiennent plus que des cœurs plutôt que plus de vitesse. Il y a plein d'exemples que nous ferions tous bien de prendre 10 minutes à lire ... https://www.gnu.org/software/parallel/parallel_tutorial.html –

+0

Connais-tu les parallèles, mais continue à oublier de les utiliser! Ran la réponse acceptée puis défiler vers le bas pour voir votre réponse ... sauvé beaucoup d'heures! Peut-être une bonne idée de faire votre commentaire une modification à votre réponse? – zx8754

7

Après sept ans, ce commentaire très upvoted n'a toujours pas sa propre réponse à part entière, donc je fais la promotion maintenant:

gzip -r .

Cela a deux avantages par rapport à la réponse actuellement acceptée: il fonctionne récursivement s'il y a des sous-répertoires, et il n'échouera pas de Argument list too long si le nombre de fichiers est très important.

Questions connexes