Linux renommer extension de certains fichiers en fonction de la date de création
Fermé
lilas
-
Modifié le 16 févr. 2021 à 14:26
mamiemando Messages postés 33030 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 mars 2024 - 18 févr. 2021 à 13:19
mamiemando Messages postés 33030 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 mars 2024 - 18 févr. 2021 à 13:19
A voir également:
- Linux renommer extension de certains fichiers en fonction de la date de création
- Renommer plusieurs fichiers - Guide
- Extension dat - Guide
- Fonction si et - Guide
- Changer extension fichier - Guide
- Explorateur de fichiers - Guide
1 réponse
mamiemando
Messages postés
33030
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 mars 2024
7 736
Modifié le 18 févr. 2021 à 13:32
Modifié le 18 févr. 2021 à 13:32
Bonjour,
Je suppose que tu voulais dire du 11/01 au 15/01 2021.
Dans ton cas, ça donnerait quelque chose du genre :
Ce script (appelons-le
Si ça te paraît correct, il ne reste plus qu'à enlever
Bonne chance
Je suppose que tu voulais dire du 11/01 au 15/01 2021.
- Pour trouver les fichiers entre deux dates, tu peux utiliser
find
, comme proposé dans cette discussion. - Pour extraire le nom sans
.tmp
on peut utilisé l'opérateur%.
comme expliqué dans cette discussion. - Pour se restreindre aux fichiers dont le nom termine par
.zip.tmp
, on ajoute un filtre à l'aide degrep
. - Tant qu'on est en phase de test, plutôt que d'appeler la commande, on va l'afficher avec
echo
pour la contrôler.
Dans ton cas, ça donnerait quelque chose du genre :
#!/bin/bash for file in $(find . -newermt "2021-01-11" ! -newermt "2021-01-15" | grep "\.zip\.tmp$"); do echo mv "$file" "${file%.*}" done
Ce script (appelons-le
script.sh) doit être placé dans un répertoire parent qui contient les fichiers à traiter. Pour l'exécuter :
chmod a+x script.sh
./script.sh
Si ça te paraît correct, il ne reste plus qu'à enlever
echoet relancer le script.
Bonne chance