for i in *.jpg; do echo "Processing $i"; exiftool -all= "$i"; done
J'ai besoin d'adapter cette ligne de code qui supprime toutes les informations exif des images d'un répertoire. J'en ai besoin
Quelqu'un pourrait-il me diriger dans la bonne direction?
Il n’est pas nécessaire de créer un script pour cela, ExifTool peut le faire lui-même et ce sera beaucoup plus rapide que de parcourir en boucle des éléments.exiftool -r -all= -ext jpg -ext gif -ext png /path/to/top/directory/
-r
recurse à travers des sous-répertoires-ext …
limiter les fichiers traités aux extensions spécifiées, supprimez ces éléments pour traiter tous les fichiers pour lesquels Exiftool peut supprimer les métadonnées.
Depuis exiftool est génial, alors vous n’avez plus besoin de ça, mais vous pouvez en principe faire avec find
quelque chose comme ça ...
Commencez par vérifier que votre recherche trouve ce que vous voulez (utilisez -iname pour la rendre insensible à la casse, car .JPG
et .jpg
etc sont communs).
find . -iname '*.jpg' -or -iname '*.png' -or -iname '*.jpeg' -or -iname '*.gif'
if affichera une liste des fichiers trouvés avec les chemins commençant ici (y compris les sous-répertoires)
puis répétez en ajoutant la commande pour agir sur les fichiers trouvés à la fin | xargs exiftool -all=
find . -iname '*.jpg' -or -iname '*.png' -or -iname '*.jpeg' -or -iname '*.gif' | xargs exiftool -all=
ou plus sûr si les noms de fichiers ont des espaces, utilisez null comme délimiteur au lieu d'espaces:
find . -iname '*.jpg' -print0 -or -iname '*.png' -print0 -or -iname '*.jpeg' -print0 -or -iname '*.gif' -print0 | xargs --null exiftool -all=
Si rien ne correspond (par exemple le répertoire est vide) alors il ne fait rien
.
est le répertoire de travail actuel. Si vous n'êtes pas là, remplacez find .
par find /path/to/parent/directory