Gzip Fichiers .pdf par paquets [Batch] - Shell/Batch - Programmation
Marsh Posté le 06-07-2009 à 13:03:49
gzip ne fait pas d'archive, mais juste de la compression. il te faut utiliser tar conjointement.
en gros gzip *.pdf ne donne pas un fichier .gz mais autant de fichier .gz que de .pdf.
il te faut faire un tar cvf archive1.tar fichiers_à_archiver.pdf puis un gzip archive1.tar pour obtenir une archive compressée de plusieurs pdf, ou, en une seule commande: tar cvzf archive1.tar.gz fichiers_à_archiver.pdf
sinon, pour ton regroupement, quel en est le critère? (taille, date, nom, ?)
Marsh Posté le 06-07-2009 à 13:15:15
Merci de ta réponse rapide.
Je ne considère pas de critères particuliers, l'ordre chronologique suffit amplement (tel que représenté par un ls -1).
Je vois la nécessité d'une boucle dans le répertoire où sont les fichiers, en prenant N fichiers à tar puis gzip, puis on passe aux suivant...
Mais pour l'implémentation, mon manque d'expérience me fait défaut au niveau shell.
Marsh Posté le 06-07-2009 à 13:50:05
tu peux tenter un truc comme ca:
Code :
|
on peut peut être faire plus joli, mais ca devrait marcher.
Marsh Posté le 06-07-2009 à 16:41:27
Ah merci ! Oui très bien.
Je suis en train d'améliorer mais un petit quelque chose à régler :
Si le nombre de fichiers pdf comme dans l'exemple est de 6, tout va bien, mais si c'est 5 ... un paquet de créer, l'autre je vais essayer de le gérer.
Marsh Posté le 06-07-2009 à 16:49:08
ah oui faudrait rajouter derrière le done:
Code :
|
Marsh Posté le 06-07-2009 à 12:56:41
Bonjour,
Je souhaite réaliser un script via programmation shell.
Je n'ai pas beaucoup d'expérience en shell (programmation).
Je souhaiterai un script utilisant la fonction gzip, j'ai vu dans le man qu'il y avait l'option -r pour zipper récursivement plusieurs fichiers en un fichier .gz, ce qui m'intéresse.
En gros, j'ai un répertoire avec des fichiers pdf, et moi je souhaite zipper ces fichiers par paquets de N fichiers .pdf, N étant une variable en dur qui pourra évoluer.
Pouvez vous m'aider à réaliser cela ?
Merci d'avance.