logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 22-09-2022 21:40:15

spipfactory
Membre
Lieu : Web 2.0 Chez World Wide Web
Distrib. : Debian GNU/Linux 8.11 (jessie)
Noyau : Linux 4.9.0-0.bpo.12-amd64
(G)UI : sans
Inscription : 22-09-2022
Site Web

RESOLU / Webp + renomer dans un repertoire

Bonsoir,

je balaye un repertoire pour convertir mes images en .webp,  ça fonctionne bien  Mais ........
les images sont en png.webp, ors je les voudrais en .webp simplement et ne plus avoir les images sources

comment modifié ma ligne
une piste ?


for repertoire in `find /home/ -iname "*.png" -exec cwebp -z -mt {} -o {}.webp \; `; do $repertoire; done

Dernière modification par spipfactory (24-09-2022 12:10:14)


« Entre Ce que je pense, Ce que je veux dire, Ce que je crois dire, Ce que je dis,
Ce que vous avez envie d'entendre, Ce que vous entendez, Ce que vous comprenez...
il y a dix possibilités qu'on ait des difficultés à communiquer. Mais essayons quand même... »
[ Bernard Werber ]

Hors ligne

#2 23-09-2022 12:05:08

vv222
Administrateur
Lieu : Bretagne
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : RESOLU / Webp + renomer dans un repertoire

La boucle for que tu lances n’a pas de sens, et ne fait d’ailleurs rien d’autre que d’afficher des erreurs dans ton terminal. La partie de ton code qui a un effet est celle-ci uniquement :

find /home/ -iname "*.png" -exec cwebp -z -mt {} -o {}.webp \;



Pour récupérer le nom d’un fichier *.png sans son extension :

fichier='mood-bridge.png'
fichier_nom=$(basename "$fichier" .png)
echo "$fichier_nom"

mood-bridge



Je ne l’ai pas testée, mais je pense que cette version modifié de la commande que tu as utilisée devrait faire l’affaire :

find /home/ -iname "*.png" -exec cwebp -z -mt {} -o "$(basename {} .png).webp" \;


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#3 23-09-2022 15:50:45

spipfactory
Membre
Lieu : Web 2.0 Chez World Wide Web
Distrib. : Debian GNU/Linux 8.11 (jessie)
Noyau : Linux 4.9.0-0.bpo.12-amd64
(G)UI : sans
Inscription : 22-09-2022
Site Web

Re : RESOLU / Webp + renomer dans un repertoire

merci vv222 pour la piste et j'ai tester mais ............


Error! Unknown option '-z'
Usage:
cwebp [-preset <...>] [options] in_file [-o out_file]

If input size (-s) for an image is not specified, it is
assumed to be a PNG, JPEG, TIFF or WebP file.

bla bla bla  ......


donc si je vire le -z , ça fonctionne mais j'ai l'image en .png.webp et en .png


comment n'avoir que l'image avec l'extension .webp dans mon répertoire

Dernière modification par spipfactory (23-09-2022 15:52:36)


« Entre Ce que je pense, Ce que je veux dire, Ce que je crois dire, Ce que je dis,
Ce que vous avez envie d'entendre, Ce que vous entendez, Ce que vous comprenez...
il y a dix possibilités qu'on ait des difficultés à communiquer. Mais essayons quand même... »
[ Bernard Werber ]

Hors ligne

#4 23-09-2022 15:58:54

vv222
Administrateur
Lieu : Bretagne
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : RESOLU / Webp + renomer dans un repertoire

Je n’ai fait que copier ton exemple d’utilisation de cwebp, c’est de toi que vient ce -z.

Pour ce qui est de la commande que j’ai proposée, je viens de voir qu’elle va en fait créer les .webp dans le répertoire courant plutôt qu’à côté du fichier original. Pour que les fichiers .png et .webp soient côte à côte il faudrait plutôt utiliser :

find /home/ -iname "*.png" -exec cwebp -mt {} -o "$(dirname {})/$(basename {} .png).webp" \;

(sans -z cette fois-ci, vu qu’il semble que cette option n’existe pas)

Une alternative est l’utilisation de -execdir au lieu de -exec :

find /home/ -iname "*.png" -execdir cwebp -mt {} -o "$(basename {} .png).webp" \;



---

Mince, je viens de comprendre que ce que tu cherches n’est pas de retirer le ".png" dans le nom des fichiers finaux, mais de supprimer les fichiers .png originaux après la conversion. Les commandes que j’ai proposées ne vont pas aider pour ça.


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#5 23-09-2022 16:31:16

spipfactory
Membre
Lieu : Web 2.0 Chez World Wide Web
Distrib. : Debian GNU/Linux 8.11 (jessie)
Noyau : Linux 4.9.0-0.bpo.12-amd64
(G)UI : sans
Inscription : 22-09-2022
Site Web

Re : RESOLU / Webp + renomer dans un repertoire

ok alors
execdir cwebp -mt {} -o "$(basename {} .png).webp" \;

fonctionne j'ai bien les fichiers dans mon repertoire

exemple
1.png
1.png.webp


j'arrive pas a avoir que 1.webp

« Entre Ce que je pense, Ce que je veux dire, Ce que je crois dire, Ce que je dis,
Ce que vous avez envie d'entendre, Ce que vous entendez, Ce que vous comprenez...
il y a dix possibilités qu'on ait des difficultés à communiquer. Mais essayons quand même... »
[ Bernard Werber ]

Hors ligne

#6 23-09-2022 17:15:50

spipfactory
Membre
Lieu : Web 2.0 Chez World Wide Web
Distrib. : Debian GNU/Linux 8.11 (jessie)
Noyau : Linux 4.9.0-0.bpo.12-amd64
(G)UI : sans
Inscription : 22-09-2022
Site Web

Re : RESOLU / Webp + renomer dans un repertoire

Alors je suis repartie d'une feuille blanche

j'ai bien la fonction qui me permet de passer mes images au format .webp

for i in $(ls *.jpg); do cwebp $i -o $i.webp && rename 's/.jpg//g' $i.webp; done

et j'ai bien dans mon repertoire
00_pascal_clement_ida_roux_zelie.jpg
00_pascal_clement_ida_roux_zelie.webp

nickel

par contre je ne sais pas dans mon arborescence ou ce trouve le repertoire jpg du coup comment dire

balaye tous les répertoire trouve le repertoire jpg et execute for i in $(ls *.jpg); do cwebp $i -o $i.webp && rename 's/.jpg//g' $i.webp; done


je penser a 
for repertoire in `find /home/sites/ "for i in $(ls *.jpg); do cwebp $i -o $i.webp && rename 's/.jpg//g' $i.webp; done"`; do $repertoire; done

mais j'ai Permission denied et en plus vv222 ma dit de pas utiliser for
bash: /home/sites/stef/IMG/jpg/euphemei_23.webp: Permission denied

du coup une piste

j'y suis presque  mad

Dernière modification par spipfactory (23-09-2022 17:16:53)


« Entre Ce que je pense, Ce que je veux dire, Ce que je crois dire, Ce que je dis,
Ce que vous avez envie d'entendre, Ce que vous entendez, Ce que vous comprenez...
il y a dix possibilités qu'on ait des difficultés à communiquer. Mais essayons quand même... »
[ Bernard Werber ]

Hors ligne

#7 23-09-2022 17:39:41

vv222
Administrateur
Lieu : Bretagne
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : RESOLU / Webp + renomer dans un repertoire

Je ne t’ai pas dit d’éviter for, mais que tu ne l’utilises pas correctement wink

---

Pour reprendre la commande find précédente, cette variante supprime le fichier d’origine après la conversion :

find /home/ -iname "*.png" -execdir sh -c 'cwebp -mt "$1" -o "$(basename "$1" .png).webp" && rm "$1"' -- {} \;


Comme elle peut être un peu complexe à interpréter, cette variante fait à peu près la même chose tout en étant plus lisible :

find /home/ -iname "*.png" | while read source; do
    destination="$(dirname "$source")/$(basename "$source" .png).webp"
    cwebp -mt "$source" -o "$destination"
    rm "$source"
done


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#8 23-09-2022 17:49:28

spipfactory
Membre
Lieu : Web 2.0 Chez World Wide Web
Distrib. : Debian GNU/Linux 8.11 (jessie)
Noyau : Linux 4.9.0-0.bpo.12-amd64
(G)UI : sans
Inscription : 22-09-2022
Site Web

Re : RESOLU / Webp + renomer dans un repertoire

Magnifique BINGO je l'aime le vv222

merci beaucoup et avec le lisible j'ai compris

« Entre Ce que je pense, Ce que je veux dire, Ce que je crois dire, Ce que je dis,
Ce que vous avez envie d'entendre, Ce que vous entendez, Ce que vous comprenez...
il y a dix possibilités qu'on ait des difficultés à communiquer. Mais essayons quand même... »
[ Bernard Werber ]

Hors ligne

Pied de page des forums