#1 Le 22/03/2020, à 03:31
- moko138
Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Bonjour,
Dans le cadre de ce fil ./viewtopic.php?id=2049807 (500 images à traiter) j'avais imaginé un début de solution.
a) Créer les répertoires de travail pour des sorties en cascade :
mkdir -vp ~/rep1/rep2/rep3/rep4
.
b) Sélectionner (à la main) les vues en format paysage
c) Les placer (à la main) dans ~/rep1/
/!\ Pour tester la validité de la suite, je donne aux fichiers des noms piégeux incluant ce que j'évite et déconseille :
espaces, apostrophes, lettres accentuées, cédille et deux points (" : ").
.
d) Convertir tout en 1200 pixels de large, avec sortie dans ~/rep2/
find ~/rep1/ -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec mogrify -resize 1200x -path ~/rep1/rep2 '{}' \;
Et là, comme j'étais aux limites de mon savoir, et que ça avait marché du premier coup, le corbeau ne se sentit plus de joie !
.
e) Rogner, avec sortie dans ~/rep3/
find ~/rep1/rep2/ -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec mogrify -crop 800x800+200+0 -path ~/rep1/rep2/rep3 '{}' \;
Content (bis)
.
f) Convertir en jpg compressé, avec sortie dans ~/rep4/
find ~/rep1/rep2/rep3 -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec mogrify -verbose -quality 78 -format jpg -path ~/rep1/rep2/rep3/rep4 '{}' \;
Content (ter)
Le renard, penaud et confus
jura, mais un peu tard, qu'on ne l'y prendrait plus.
Jouez, hautbois ! Résonnez, musettes !!!
Eh bien non ! Il manque un fichier. Le fichier
Capture d'écran - 13032020 - 21:50:45.png
s'est arrêté en /rep3/.
Mais il suffit que je le renomme sans deux points (" : ")
Capture d'écran - 13032020 - 21h50m45.png
pour que le dernier mogrify fonctionne.
= =
Bilan
Les deux points n'ont pas empêché mogrify -resize de fonctionner, ni mogrify -crop.
On dirait une incompatibilité entre les deux points et mogrify -format jpg.
Questions
Ai-je loupé une option ?
Y a-t-il un contournement utilisable quand on essaie d'aider quelqu'un qui a un nombre élevé de fichiers à traiter ?
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#2 Le 22/03/2020, à 03:31
- moko138
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Voici la sortie verbose avec le même fichier sous deux noms :
moko@pc-c:~$ find ~/rep1/rep2/rep3 -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec mogrify -verbose -quality 78 -format jpg -path ~/rep1/rep2/rep3/rep4 '{}' \;
(...)
/home/moko/rep1/rep2/rep3/Capture d'écran - 13032020 - 21h50m45.png PNG 800x735 1200x735+200+0 8-bit DirectClass 228KB 0.030u 0:00.029
/home/moko/rep1/rep2/rep3/Capture d'écran - 13032020 - 21h50m45.png=>/home/moko/rep1/rep2/rep3/rep4/Capture d'écran - 13032020 - 21h50m45.jpg PNG 800x735 1200x735+200+0 8-bit DirectClass 61.4KB 0.060u 0:00.060
(...)
/home/moko/rep1/rep2/rep3/Capture d'écran - 13032020 - 21:50:45.png PNG 800x735 1200x735+200+0 8-bit DirectClass 228KB 0.040u 0:00.050
/home/moko/rep1/rep2/rep3/Capture d'écran - 13032020 - 21:50:45.png=>50:45.jpg PNG 800x735 1200x735+200+0 8-bit DirectClass 61.4KB 0.060u 0:00.059
(...)
moko@pc-c:~$
Je remarque une fin de ligne en
...228KB 0.030u 0:00.029 pour le fichier correctement traité, et
...228KB 0.040u 0:00.050 pour l'autre.
Mais je n'arrive pas à en déduire quoi que ce soit.
Merci de vos éclairages !
= =
AJOUT :
Le hasard d'un nettoyage du home me permet de découvrir qu'en réalité le fichier manquant a bien été produit et enregistré, mais ni sous le nom d'origine ni à l'endroit assigné (.../rep4).
En lisant plus attentivement le retour, j'aurais pu m'en douter. Car en juxtaposant
(...).png=>/home/moko/rep1/rep2/rep3/rep4/Capture d'écran - 13032020 - 21h50m45.jpg PNG 800x735 1200x735+200+0 8-bit DirectClass 61.4KB 0.060u 0:00.060
(...).png=>50:45.jpg PNG 800x735 1200x735+200+0 8-bit DirectClass 61.4KB 0.060u 0:00.059
on pouvait distinguer
d'abord
=>/chemin/vers/fichier :
=>/home/moko/rep1/rep2/rep3/rep4/Capture d'écran - 13032020 - 21h50m45.jpg
=>50:45.jpg
Puis
l'historique (identique à l'ultime cheveu près) des fichiers sources :
PNG 800x735 1200x735+200+0 8-bit DirectClass 61.4KB 0.060u 0:00.060
PNG 800x735 1200x735+200+0 8-bit DirectClass 61.4KB 0.060u 0:00.059
[Je me demande
- comment mogrify, en convertissant en .jpg un .png de 800x735 pixels, se rappelle (???) qu'il s'agissait antérieurement d'un fichier de 1200x735 avec rognage de 200+0 ;
- et pourquoi il affiche ces informations.
Abîme insondable, mais ce n'est pas le sujet.]
Toujours est-il que le .jpg de sortie
- a un nom tronqué ("50:45.jpg") malgré les précautions prises avec find ;
- est enregistré, non au lieu assigné, mais dans le répertoire courant.
Et comme juste avant, j'avais aussi fait une tentative depuis ~/Bureau/test2, le fichier 50:45.jpg se trouve aussi dans ce répertoire-là.
On a donc un
contournement possible pour l'emplacement :
Avant la commande, se placer dans le répertoire de destination, quelque redondant que ça paraisse :
cd ~/rep1/rep2/rep3/rep4 ; find ~/rep1/rep2/rep3 -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec mogrify -verbose -quality 78 -format jpg -path ~/rep1/rep2/rep3/rep4 '{}' \;
.
Mais la conservation du nom reste à obtenir.
Dernière modification par moko138 (Le 22/03/2020, à 06:30)
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#3 Le 22/03/2020, à 11:45
- nany
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Bonjour,
On a donc un
contournement possible pour l'emplacement :
Avant la commande, se placer dans le répertoire de destination, quelque redondant que ça paraisse :cd ~/rep1/rep2/rep3/rep4 ; find ~/rep1/rep2/rep3 -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec mogrify -verbose -quality 78 -format jpg -path ~/rep1/rep2/rep3/rep4 '{}' \;
Pour la redondance :
cd ~/rep1/rep2/rep3/rep4 ; find .. -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec mogrify -verbose -quality 78 -format jpg -path .'{}' \;
Mais la conservation du nom reste à obtenir.
Tordu mais ça marche :
cd ~/rep1/rep2/rep3/rep4 ; find .. -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec bash -c 'i=$(identify -format "%t" "$1") ; mogrify -verbose -quality 78 -format jpg -path . ; mv -v "${i#*:}.jpg" "${i%%:*}:${i#*:}.jpg"' _ '{}' \; ; cd
Hors ligne
#4 Le 22/03/2020, à 12:11
- pingouinux
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Bonjour,
On dirait une incompatibilité entre les deux points et mogrify -format jpg.
J'ai réussi à reproduire ton problème. Il semblerait que mogrify considère que tout ce qui précède le premier : soit un format de fichier.
By default, the image format of `file' is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps).
Hors ligne
#5 Le 22/03/2020, à 12:40
- moko138
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Bravo nany !
« 20:11.jpg » -> « arverne44-08 - 11:20:11.jpg »
« 50:45.jpg » -> « Capture d'écran - 13032020 - 21:50:45.jpg »
« 77:77.jpg » -> « uderzo gladiàteur pl19 çrandé-dômù - 77:77:77.jpg »
Opening "/home/moko/rep1/rep2/rep3/rep4" with Thunar File Manager (inode/directory)
dimanche 22 mars 2020, 12:25:36 (UTC+0100)
4,3M /home/moko/rep1
3
dimanche 22 mars 2020, 12:25:38 (UTC+0100)
3
292K /home/moko/rep1/rep2/rep3/rep4
1,3M /home/moko/rep1/rep2/rep3
3,6M /home/moko/rep1/rep2
4,3M /home/moko/rep1
moko@pc-c:~$
Impeccable.
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#6 Le 22/03/2020, à 16:29
- moko138
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#7 Le 22/03/2020, à 17:56
- kamaris
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Vous avez quelle version d'ImageMagick ?
Perso je suis très récent (sous arch) :
$ mogrify --version
Version: ImageMagick 7.0.10-1 Q16 x86_64 2020-03-16 https://imagemagick.org
et il semble que je n'ai pas ce problème.
Peut-être est-ce lié à ce rapport de bug : https://github.com/ImageMagick/ImageMagick/issues/1402 ?
Hors ligne
#8 Le 22/03/2020, à 18:04
- pingouinux
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
$ mogrify --version
Version: ImageMagick 6.8.9-9 Q16 x86_64 2019-11-12 http://www.imagemagick.org
Hors ligne
#9 Le 22/03/2020, à 18:31
- moko138
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
mogrify --version
Version: ImageMagick 6.7.7-10 2018-05-23 Q16 http://www.imagemagick.org
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#10 Le 22/03/2020, à 18:40
- kamaris
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
J'ai du mal à m'y retrouver, car ils maintiennent (au moins) deux versions d'ImageMagick : la 6 et la 7, depuis 2011, à travers deux dépôts distincts :
https://github.com/ImageMagick/ImageMag … /ChangeLog
https://github.com/ImageMagick/ImageMag … /ChangeLog
Le bug dont je parle en #7 a été signalé en 2018, mais pour ImageMagick 7.0.8-14.
Donc le correctif a été intégré pour la version 7 depuis belle lurette, mais aucune idée de ce qu'il en est pour la version 6…
NB : même sur focal, on est toujours en version 6 (6.9.10.23) : https://packages.ubuntu.com/focal/imagemagick
Hors ligne
#11 Le 22/03/2020, à 22:19
- moko138
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Finalement, nous n'avons pas de retour de baloovsrayman ("ImageMagik impossible de convertir une image") !
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#12 Le 22/03/2020, à 23:54
- kamaris
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
J'ai fait un test dans une vm eoan, avec donc ImageMagik 6.9.10-23, et je n'ai pas pu reproduire ce comportement.
J'imagine que ça a donc été corrigé entre la 6.8.9-9 de pingouinux et cette version-là, même si ça n'apparait pas spécifiquement dans les notes de versions.
Quoi qu'il en soit, ça n'est pas bien grave, puisque la commande de nany n'échouera pas si jamais la version de mogrify exécutée ne contient pas ce bug : la commande mv signalera simplement qu'elle n'a pas trouvé le fichier à déplacer.
Hors ligne
#13 Le 23/03/2020, à 06:36
- moko138
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Ça fait trois heures que je m'arrache les cheveux :
Je n'arrive plus à faire fonctionner la méthode de nany.
Le mogrify -format -quality ne marche plus, (ça s'arrête à rep3/, soit avant la conversion jpg avec compression).
Et mv -v renvoie autant d'erreurs que de fichiers, y compris pour les fichiers à nom orthodoxe.
Ce que j'ai changé par rapport à hier :
- Afin d'évaluer le temps de traitement, j'ai porté le nombre de fichiers à 25 (aux noms dépourvus de " : ") au lieu de trois.
- Afin d'obtenir les carrés de 800x800 désirés, j'ai changé :
le -resize 1200x en x800
le -crop 800x800+200+0 en -crop 800x800+296+0
- Remonté le -quality 78 en -quality 80.
Et voici la ligne complète :
echo; date >~/rep1/rep2/rep3/rep4/rep5/tot.txt ; du -sh ~/rep1 >>~/rep1/rep2/rep3/rep4/rep5/tot.txt ; ls -l ~/rep1 | grep ^-r | wc -l >>~/rep1/rep2/rep3/rep4/rep5/tot.txt ; cd ~/rep1/rep2 ; find ~/rep1/ -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec mogrify -resize x800 -path ~/rep1/rep2 '{}' \; ; echo; cd ~/rep1/rep2/rep3 ; find ~/rep1/rep2/ -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec mogrify -crop 800x800+296+0 -path ~/rep1/rep2/rep3 '{}' \; ; echo ; cd ~/rep1/rep2/rep3/rep4 ; find .. -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec bash -c 'i=$(identify -format "%t" "$1") ; mogrify -verbose -quality 80 -format jpg -path . ; mv -v "${i#*:}.jpg" "${i%%:*}:${i#*:}.jpg"' _ '{}' \; ; echo; date >>~/rep1/rep2/rep3/rep4/rep5/tot.txt ; xdg-open ~/rep1/rep2/rep3/rep4 ; ls -l ~/rep1/rep2/rep3/rep4 | grep ^-r | wc -l >>~/rep1/rep2/rep3/rep4/rep5/tot.txt ; du -h --max-depth=3 ~/rep1 >>~/rep1/rep2/rep3/rep4/rep5/tot.txt ; cat ~/rep1/rep2/rep3/rep4/rep5/tot.txt ; cd
.
mv: impossible d'évaluer « IMG_1745.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1728.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1658.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1675.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1620.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1653.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1710.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1730.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1714.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « 20:11.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1716.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1749.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « 50:45.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1647.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1744.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1656__ .jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1666.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1690 _ - famille.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1732.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1640.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1737.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1720.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1734.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « IMG_1747.jpg »: Aucun fichier ou dossier de ce type
mv: impossible d'évaluer « 77:77.jpg »: Aucun fichier ou dossier de ce type
à comparer avec les noms :
find ~/rep1 -maxdepth 1 -type f
/home/moko/rep1/IMG_1745.JPG
/home/moko/rep1/IMG_1728.JPG
/home/moko/rep1/IMG_1658.JPG
/home/moko/rep1/IMG_1675.JPG
/home/moko/rep1/IMG_1620.JPG
/home/moko/rep1/IMG_1653.JPG
/home/moko/rep1/IMG_1710.JPG
/home/moko/rep1/IMG_1730.JPG
/home/moko/rep1/IMG_1714.JPG
/home/moko/rep1/arverne44-08 - 11:20:11.tiff
/home/moko/rep1/IMG_1716.JPG
/home/moko/rep1/IMG_1749.JPG
/home/moko/rep1/Capture d'écran - 13032020 - 21:50:45.png
/home/moko/rep1/IMG_1647.JPG
/home/moko/rep1/IMG_1744.JPG
/home/moko/rep1/IMG_1656__ .JPG ## nom à espace juste avant le point
/home/moko/rep1/IMG_1666.JPG
/home/moko/rep1/IMG_1690 _ - famille.JPG ## nom à espace
/home/moko/rep1/IMG_1732.JPG
/home/moko/rep1/IMG_1640.JPG
/home/moko/rep1/IMG_1737.JPG
/home/moko/rep1/IMG_1720.JPG
/home/moko/rep1/IMG_1734.JPG
/home/moko/rep1/IMG_1747.JPG
/home/moko/rep1/uderzo gladiàteur pl19 çrandé-dômù - 77:77:77.JPG
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#14 Le 23/03/2020, à 07:21
- pingouinux
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
As-tu remarqué que les noms des fichiers correspondant aux messages d'erreur se terminent par .jpg, et ceux de ta liste par .JPG. ?
Hors ligne
#15 Le 23/03/2020, à 07:57
- moko138
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Bien vu, pingouinux !
Mais la partie que j'ai rédigée utilise -iname ;
quant à la partie élaborée par nany, elle vole beaucoup trop haut pour moi : avant que je l'ai comprise et que je sois devenu capable de la modifier, tu observeras des vols d'ours blancs migrateurs !
Je viens de me jeter à l'eau et de tenter de remplacer
mv -v "${i#*:}.jpg" par
mv -v "${i#*:}.[jJ][pP][gG]" Voici :
cd ~/rep1/rep2/rep3/rep4 ; find .. -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.png' -o -iname '*.tiff' \) -exec bash -c 'i=$(identify -format "%t" "$1") ; mogrify -verbose -quality 80 -format jpg -path . ; mv -v "${i#*:}.[jJ][pP][gG]" "${i%%:*}:${i#*:}.jpg"' _ '{}' \; ;
Mais les réponses répètent ce motif :
mv: impossible d'évaluer « IMG_1745.[jJ][pP][gG] »: Aucun fichier ou dossier de ce type
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#16 Le 23/03/2020, à 08:32
- pingouinux
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Je m'étonne aussi que cette commande (une portion de ta longue ligne en #13 et en #15) ne fournisse pas de fichiers sur lesquels l'appliquer
mogrify -verbose -quality 80 -format jpg -path .
Hors ligne
#17 Le 23/03/2020, à 08:51
- moko138
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
pingouinux,
Je n'ai pas votre niveau, je ne comprends même pas pourquoi
mogrify -verbose -quality 80 -format jpg -path .
est entre deux points-virgules.
Il n'y a que pour
${i#*:}
que, là, je sais :
c'est l'idéogramme mandchou qu'on pourrait traduire par
« le petit Mo Kho errait dans le brouillard de la steppe ».
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#18 Le 23/03/2020, à 09:10
- pingouinux
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
je ne comprends même pas pourquoi
mogrify -verbose -quality 80 -format jpg -path .
est entre deux points-virgules.
find ..... -exec bash -c 'cmd1; mogrify -verbose -quality 80 -format jpg -path . ; cmd2' _ '{}' \;
C'est une liste de commandes passées à bash
bash -c ' liste_de_commandes_séparées_par_des; '
Dernière modification par pingouinux (Le 23/03/2020, à 09:12)
Hors ligne
#19 Le 23/03/2020, à 09:24
- moko138
Re : Échec partiel bizarre avec deux points (" : ") et mogrify -format jpg
Merci pingouinux !
Je m'avise qu'une de mes dernières tentatives a produit un effet :
les fichiers sont maintenant recopiés dans rep4.
Mais, à défaut de leur nom, ils ont gardé leur poids et leur format de rep3
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne