[zip] compresser plusieurs fichiers (Résolu)

Applications, problèmes de configuration réseau
Répondre
Shaaake
Hankyu
Messages : 24
Inscription : jeu. 19 oct. 2017, 20:28

[zip] compresser plusieurs fichiers (Résolu)

Message par Shaaake »

Bonjour,

J'ai plusieurs fichiers que je voudrais zipper chacun dans une archive zip, avec file-roller je ne trouve pas l'option, comment est-ce que je peux faire ?

Merci
Dernière modification par Shaaake le ven. 27 oct. 2017, 17:40, modifié 1 fois.
Avatar de l’utilisateur
Joffrey
Daikyu
Messages : 84
Inscription : mar. 08 sept. 2015, 23:42

Re: [zip] compresser plusieurs fichiers

Message par Joffrey »

Bonjour,

Avec la commande "zip" et une boucle "for" ça fonctionne bien.

Code : Tout sélectionner

for file in *; do zip -r "$file".zip "$file"; done
Ça compresse tous les fichiers et répertoires dans le répertoire où tu te trouves.

Edit: Si tu veux tout mettre dans une archive:

Code : Tout sélectionner

zip -r mon.zip *
Ou juste certains fichiers

Code : Tout sélectionner

zip mon.zip fichier1 fichiers2
Shaaake
Hankyu
Messages : 24
Inscription : jeu. 19 oct. 2017, 20:28

Re: [zip] compresser plusieurs fichiers

Message par Shaaake »

Ah génial, quelle est la différence entre && et ; ?

Du coup je me retrouver avec un fichier .extension.zip, comment est-ce que je peux retirer .extension de tous les fichiers et garder que .zip à la fin ?
Avatar de l’utilisateur
Joffrey
Daikyu
Messages : 84
Inscription : mar. 08 sept. 2015, 23:42

Re: [zip] compresser plusieurs fichiers

Message par Joffrey »

Pour un formatage sans l'extension:

Code : Tout sélectionner

${tavariable%.*}

Code : Tout sélectionner

commande1 && commande2 # commande2 est exécuté seulement si la commande1 c'est bien passé
commande1 ; commande2  # commande2 est exécuté à la suite de commande1
Shaaake
Hankyu
Messages : 24
Inscription : jeu. 19 oct. 2017, 20:28

Re: [zip] compresser plusieurs fichiers

Message par Shaaake »

Donc ; s'exécute même si la commande 1 ne s'est pas bien passée ?

Pour ${tavariable%.*} j'ai pas compris
avi3000
Chu Ko Nu
Messages : 404
Inscription : dim. 19 juin 2011, 18:53
Localisation : dans le neuf trois

Re: [zip] compresser plusieurs fichiers

Message par avi3000 »

Shaaake a écrit : mer. 25 oct. 2017, 10:58 Pour ${tavariable%.*} j'ai pas compris
man bash + /substitute
ou https://man.cx/sh(1)/fr remplacement de paramètres

:rtfm2:
Shaaake
Hankyu
Messages : 24
Inscription : jeu. 19 oct. 2017, 20:28

Re: [zip] compresser plusieurs fichiers

Message par Shaaake »

Je crois que ça sert à faire une commande dans une autre commande mais je ne sais pas comment retirer l'extension dans le nom
Avatar de l’utilisateur
waitnsea
Maître du Kyudo
Messages : 2114
Inscription : jeu. 15 mars 2012, 05:08

Re: [zip] compresser plusieurs fichiers

Message par waitnsea »

Shaaake a écrit : mer. 25 oct. 2017, 18:25 Je crois que ça sert à faire une commande dans une autre commande mais je ne sais pas comment retirer l'extension dans le nom
Bonjour,
Pas si facile, une bonne explication
La solution :

Code : Tout sélectionner

$ for file in *; do zip ${file%.*}.zip "$file"; done
Shaaake
Hankyu
Messages : 24
Inscription : jeu. 19 oct. 2017, 20:28

Re: [zip] compresser plusieurs fichiers

Message par Shaaake »

Merci pour ton aide,

Du coup pour la partie ${file%.*}.zip, le .* veut dire qu'il ignore ce qu'il y a à l'endroit de l'étoile ?

J'ai également besoin d'aide, je fais un script pour automatiser les couleurs de fonds d'écran, etc, je me base sur mes fichiers de couleurs .Xresources, donc j'ai pris :

color=$(cat .Xresources | awk '/\*background:/ {print $2}')

Le problème c'est que des fois je me retrouve avec
*.background,
des fois
*background

Et il y a également des tabulations, enfin tout est différent, je pourrais avoir un peu d'aide pour essayer de faire le truc le plus universel possible ?

Merci
Avatar de l’utilisateur
waitnsea
Maître du Kyudo
Messages : 2114
Inscription : jeu. 15 mars 2012, 05:08

Re: [zip] compresser plusieurs fichiers

Message par waitnsea »

Si résolu tu édites ton 1er post (icône avec le crayon) et tu ajoutes (Résolu) au titre
Puis tu ouvres un autre post pour un autre sujet : 1 seul post par sujet
Répondre