Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/09/2023, à 18:38

mpuech

[bash] Renommer vidéos Xiaomi VID_20230819_190119.mp4

Bonjour,

J'ai des photos et vidéos qui proviennent d'un Xiaomi (IMG_20230728_144350.jpg et VID_20230728_144350.mp4) et d'un Samsung (2023-08-29 12.03.35.jpg et 2023-08-29 12.03.35.mp4).
Je voudrais aligner tous les noms sur la nomenclature Samsung.
Je sais renommer les photos avec 'exiv2 -r "%Y-%m-%d %H.%M.%S" *.jpg', mais comment faire pour les vidéos ?
Avec Nautilus, j'ai vu comment renommer en supprimant le "VID_", comment renommer avec "[Date de création]", mais ça ne suffit pas.

Le mieux serait que le Xiaomi enregistre les fichiers avec le bon nom, mais ça n'a pas l'air possible.

Merci par avance,


Ubuntu 23.04 sur mini-tour Amd Ryzen 5 3400G
Ubuntu 22.04 sur barebone Zotac de 2014, i5-4570, vidéo Intel

Hors ligne

#2 Le 09/09/2023, à 19:36

MicP

Re : [bash] Renommer vidéos Xiaomi VID_20230819_190119.mp4

Bonjour


EDIT: Lignes de commandes corrigées en fonction du message de Watael

#!/bin/bash

Regarde ce que ça t'affiche en lançant, depuis le répertoire contenant les fichiers à renommer
l'exécution d'un script dont le contenu serait :

# https://forum.ubuntu-fr.org/viewtopic.php?id=2081062

# Pour renommer des fichiers :
# IMG_20230728_144350.jpg -> 2023-07-28 14.43.50.jpg
# VID_20200528_173312.mp4 -> 2020-05-28 17.33.12.mp4

maRegex='^\./..._([0-9]{4})([0-9]{2})([0-9]{2})_([0-9]{2})([0-9]{2})([0-9]{2})(.*)'

for nmfich in ./*.{mp4,jpg}; do {
    if [[ $nmfich =~ $maRegex ]]; then
        echo mv "$nmfich" "./${BASH_REMATCH[1]}-${BASH_REMATCH[2]}-${BASH_REMATCH[3]} ${BASH_REMATCH[4]}.${BASH_REMATCH[5]}.${BASH_REMATCH[6]}${BASH_REMATCH[7]}"
    fi
}

… et si les lignes de commande qui s'affichent te conviennent,
alors enlève la commande echo qui est dans ce script et relance le.

=======
Voilà ce que ça fait :

mic@deb12:~$ maRegex='^\./..._([0-9]{4})([0-9]{2})([0-9]{2})_([0-9]{2})([0-9]{2})([0-9]{2})(.*)'
mic@deb12:~$ 
mic@deb12:~$ nmfich="./VID_20200528_173312.mp4"
mic@deb12:~$ [[ $nmfich =~ $maRegex ]] && echo "'$nmfich' sera renommé './${BASH_REMATCH[1]}-${BASH_REMATCH[2]}-${BASH_REMATCH[3]} ${BASH_REMATCH[4]}.${BASH_REMATCH[5]}.${BASH_REMATCH[6]}${BASH_REMATCH[7]}'"
'./VID_20200528_173312.mp4' sera renommé './2020-05-28 17.33.12.mp4'
mic@deb12:~$ 
mic@deb12:~$ nmfich="./IMG_20230728_144350.jpg"
mic@deb12:~$ [[ $nmfich =~ $maRegex ]] && echo "'$nmfich' sera renommé './${BASH_REMATCH[1]}-${BASH_REMATCH[2]}-${BASH_REMATCH[3]} ${BASH_REMATCH[4]}.${BASH_REMATCH[5]}.${BASH_REMATCH[6]}${BASH_REMATCH[7]}'"
'./IMG_20230728_144350.jpg' sera renommé './2023-07-28 14.43.50.jpg'
mic@deb12:~$ 

Dernière modification par MicP (Le 10/09/2023, à 17:17)

Hors ligne

#3 Le 10/09/2023, à 15:40

mpuech

Re : [bash] Renommer vidéos Xiaomi VID_20230819_190119.mp4

Bonjour et merci pour ton script (je découvre BASH_REMATCH), mais je n'arrive pas à le faire fonctionner.
Étant peu familier des notations raccourcies, je l'ai un peu réécrit

for nmfich in ./*.{mp4,jpg}
do
	echo $nmfich
   if [[ $nmfich =~ $maRegex ]]
    then
   echo Ok
#       echo mv "$nmfich" "${BASH_REMATCH[1]}-${BASH_REMATCH[2]}-${BASH_REMATCH[3]} ${BASH_REMATCH[4]}.${BASH_REMATCH[5]}.${BASH_REMATCH[6]}${BASH_REMATCH[7]}"
     fi
done

Mais il ne trouve aucun de mes fichiers: il affiche bien tous les noms des fichiers mais jamais 'Ok'.
Ta regex est bonne. Je me demande s'il n'y a pas un problème  avec la ligne du 'if'.

@+


Ubuntu 23.04 sur mini-tour Amd Ryzen 5 3400G
Ubuntu 22.04 sur barebone Zotac de 2014, i5-4570, vidéo Intel

Hors ligne

#4 Le 10/09/2023, à 15:48

Watael

Re : [bash] Renommer vidéos Xiaomi VID_20230819_190119.mp4

en fait, la regex n'est pas complète : il manque le ./ au début.
elle devrait être comme ça :

maRegex='^\./..._([0-9]{4})([0-9]{2})([0-9]{2})_([0-9]{2})([0-9]{2})([0-9]{2})(.*)'

Dernière modification par Watael (Le 10/09/2023, à 15:49)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 10/09/2023, à 15:56

mpuech

Re : [bash] Renommer vidéos Xiaomi VID_20230819_190119.mp4

Super, merci beaucoup à tous les 2!

Dernière modification par mpuech (Le 10/09/2023, à 16:10)


Ubuntu 23.04 sur mini-tour Amd Ryzen 5 3400G
Ubuntu 22.04 sur barebone Zotac de 2014, i5-4570, vidéo Intel

Hors ligne

#6 Le 10/09/2023, à 16:55

MicP

Re : [bash] Renommer vidéos Xiaomi VID_20230819_190119.mp4

Merci Watael smile

J'avais oublié de lever les bras au ciel :

\./

Je corrige de suite mes messages en tenant compte de ton message.

Dernière modification par MicP (Le 10/09/2023, à 17:00)

Hors ligne