Vous cherchez à votre question, je l'avais dans l'ordre inverse. Mon code a été de déplacer tous les fichiers APRÈS la création d'un en question. T-il "créé" signifie aussi "modifié". Sous UNIX, vous ne sais pas quand un fichier a été «créé». Vous venez de savoir quand les données ont été modifiées et que la méta-informations sur le fichier ( "
inode") A été modifiée. Si vous changez les permissions du fichier ou de la propriété, vous pourrez modifier le fichier de méta-informations.
Mon code renommé les fichiers avec le nombre de secondes depuis 1970, plutôt que dans le format voulu. Ainsi, sur l'amélioration de l'original de ma version:
Code:
get_filetime()
{
find . -name "$1" -printf "%TY%Tm%Td%TH%TM%TS\n"
}
cd $TARGET_DIR
touch __stop__$$
ls -lt | grep '^-' | awk '/__stop__'$$'$/ { start=1 } start,0' |
while read file; do
filetime=`get_filetime $file`
mv $file $NEWDIR/$file_$filetime
done
rm -f __stop__$$