Le 04/01/2023 à 19:22, "jdd@dodin.org" (via linux-31 Mailing List) a écrit :
Bonsoir,
J'ai besoin d'un coup de main pour un script en bash.
le but est le suivant:
soit un répertoire avec des fichiers en vrac. les transférer dans des répertoires ayant comme nom leur date de création
pseudo code:
* lire le nom du fichier sur la ligne suivant la commande;
* extraire la date de création, par exemple avec
date -r <fichier> +"%y-%m-%d"
* créer un répertoire de ce nom
* y transférer le fichier
du genre, je ne suis pas du tout sur de ce qu'il faut utiliser comme quotes, entre autres:
#!/bin/bash
for a ; do
b=date -r $a +"%y-%m-%d" ;
test -e "$b" && mkdir $b ;
mv $a $b ;
done
exit
merci
jdd
Salut
Je te propose ça:
for a in *
do
b=$(date -r $a +%y-%m-%d )
mkdir -p $b
mv $a $b
doneAttention ça ne te classera pas tes fichiers selon la date de création, mais la date de dernière modification. cf. https://unix.stackexchange.com/questions/91197/how-to-find-creation-date-of-file
Amicalement,
Emmanuel
--