#1 Le 09/09/2023, à 17: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, à 18: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, à 16:17)
Hors ligne
#3 Le 10/09/2023, à 14: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, à 14: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, à 14:49)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 10/09/2023, à 14: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, à 15: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, à 15:55
- MicP
Re : [bash] Renommer vidéos Xiaomi VID_20230819_190119.mp4
Merci Watael
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, à 16:00)
Hors ligne