[Linux-bruxelles] rename recursif

Sébastien Adam bxlug at sebastienadam.be
Lun 4 Fév 15:08:47 CET 2019


Le script peut être téléchargé ici:

https://framadrop.org/r/aIkTk28RsB#FW8EAt3sNkfbUPUPdpE7MHQ5Q7IuRLJNt4i3mOHDdIQ=

Tu n'as juste qu'à télécharger le fichier jpg_ext_to_lowercase.py, lui 
donner les droits d'exécution et l'exécuter. Je te conseille de faire un 
backup de tes fichiers avant l'exécution du script (j'ai testé une série 
de cas, mais on ne sait jamais...).

Le script va rechercher dans le répertoire courant, et les 
sous-répertoires, tous les fichiers '*.JPG' et va les renommer en 
'*.jpg'. J'ai juste changé une petite chose à ta demande. Si le fichier 
'*.jpg' existe déjà, il ne sera par renommé en '*-x.jpg', mais ne 
'*-<n>.jpg' avec <n> un indice (1, 2...). Si par exemple tu as un 
fichier 'xxxx.JPG' et qu'il existe déjà un 'xxxx.jpg' et un 
'xxxx-1.jpg', le fichier 'xxxx.JPG' sera renommé en 'xxxx-2.jpg'. Je 
n'aime pas avoir à exécuter une action sans condition. Dans le cas (peu 
probable) où tu aurais un fichier '*-x.jpg' existant, il serait écrasé 
sans avertissement.

Pour chaque fichier renommé, le script va vérifier s'il existe un 
fichier .xmp correspondant. Si c'est le cas, ce dernier sera renommé de 
la même manière que le fichier principal.

En principe, le script devrait fonctionner avec Python 3.5. Ma version 
de Python est la 3.6. Il n'a besoin d'aucune dépendance (je n'ai utilisé 
que les librairies de base).

J'espère que cela t'aidera :-)

-------------------
Sébastien Adam
http://www.sebastienadam.be/
https://telegram.me/SebastienAdam
Contactable sur Signal: https://signal.org/

Le 3/02/19 à 16:36, mpa01 a écrit :
> Salut,
> 
> c'est presque cela...
> Mon erreur est d'avoir fais un back-up de mes photos à partir d'un 
> disque ext4 vers un disque USB ntfs avec ntfs-3g SANS avoir précisé que 
> je voulais rester case non sensitive....
> Donc je ne sais plus réinstaller mes fichiers sur un disque commun 
> accessible sous W$ et sous Linux en ntfs-3g option windows_names.
> 
> J'ai essayé pyRename mais il n'est pas récursif...
> J'ai essayé Metamorphose mais les dépendances ne suivent pas (je suis 
> sous Linux Mint 18)
> ....
> 
> Ta solution est donc tentante ;-) si elle ne te prends pas trop de temps 
> et si cela ne t’ennuie pas.
> 
> Je voudrais que les extension DSC*.JPG deviennent DSC*.jpg
> Sauf si le fichier existe déjà auquel cas il doit devenir DSC*-x.jpg(la 
> lettre x (minuscule ou majuscule) car j'ai aussi des fichiers -1.jpg et 
> -2.jpg etc...)
> 
> Le problème risque d'être les fichiers DSC*.JPG.xmp créés par Darktable
> qui devraient devenir des fichiers DSC*.jpg.xmp sauf si le fichier 
> existe auquel cas il doivent devenir
> DSC*-x.jpg.xmp
> (DarkTable crée par défaut des fichiers 'nom de la photo'.'extension du 
> fichier'.xmp pour permettre des modifications sans altérer la source. Je 
> préfère, personnellement, travailler avec des révision de fichier.)
> 
> which python3
> donne:
> /usr/bin/python3
> 
> python3 --version
> donne:
> Python 3.5.2
> 
> 
> BAT
> 
> 
> On Sun, 3 Feb 2019 13:09:02 +0100, Sébastien Adam wrote:
>> Salut,
>>
>> À priori, si tes fichiers sont sur un disque en NTFS, ils ne peut pas
>> y avoir plusieurs fichiers avec le même nom et une case différente (en
>> NTFS, p.e. IMG_1234.jpg est équivalent à IMG_1234.JPG).
>>
>> Il est assez facile de faire un script pour renommer tous tes
>> fichiers. Je peux éventuellement le faire en Pyhton, si tu veux (ou
>> d'autres pourront peut-être le faire dans d'autre langages, ou avec
>> des outils spécifiques).
>>
>> Il faudrait juste que tu me donnes le résultat des commandes
>> suivantes exécutées dans un terminal:
>>
>> which pyhton3
>> python3 --version
>>
>> Aussi, il faudrait que tu explique exactement ce que tu veux
>> (corrige-moi si je me trompe):
>>
>> * Si le fichier a une extension '.jpg', le renommer avec une
>> extension '.JPG'.
>> * Si un fichier est à renommer, vérifier s'il n'existe pas déjà un
>> fichier avec le nouveau nom. Si c'est le cas, renommer le fichier en
>> '*-x.JPG' (avec 'x' étant un nombre à incrémenter, je suppose).
>>
>> À bientôt.
>>
>> -------------------
>> Sébastien Adam
>> http://www.sebastienadam.be/
>> https://telegram.me/SebastienAdam
>> Contactable sur Signal: https://signal.org/
>>
>> Le 3/02/19 à 11:45, mpa01 a écrit :
>>> On Sun, 03 Feb 2019 11:37:07 +0100, mpa01 wrote:
>>>> Re-,
>>>>
>>>> Je continue :
>>>>
>>>> Certains fichiers photo ont une extantion .JPG et d'autres .jpg.
>>>>
>>>> Le problème est que certains fichiers modifiés sont sauvés sous le
>>>> même nom (DSC_0578 par exemple) mais avec .jpg ET .JPG.
>>>>
>>>> Je voudrais donc modifier tous mes fichiers DSC*.jpg en DSC*-x.JPG
>>>> (il y en a 56217 sur le disque) de manière récursive (mais sure) à
>>>> partie de mon répertoire "pictures".
>>>>
>>>> Pouvez vous m'aider?
>>>>
>>>> A+
>>>>
>>>> _______________________________________________
>>>> Linux-bruxelles :
>>>> Èchanger, partager, s'informer par mails sur toute action,
>>>> proposition accordée avec: http://www.bxlug.be/?Nos-statuts
>>>>
>>>> Linux-bruxelles at lists.bxlug.be
>>>> https://listes.domainepublic.net/listinfo/linux-bruxelles
>>>   J'ai oublié de dire que les fichiers sont sur un disque ntfs :-( 
>>> mais déposés avec ntfs-3g à partie de Linux.
>>> _______________________________________________
>>> Linux-bruxelles :
>>> Èchanger, partager, s'informer par mails sur toute action, 
>>> proposition accordée avec: http://www.bxlug.be/?Nos-statuts
>>> Linux-bruxelles at lists.bxlug.be
>>> https://listes.domainepublic.net/listinfo/linux-bruxelles
>>>
> 
> 



Plus d'informations sur la liste de diffusion Linux-bruxelles