Commande ls fichiers mal triés

Résolu/Fermé
Erucia Messages postés 1057 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 16 juin 2014 - Modifié par jipicy le 3/12/2013 à 13:57
Erucia Messages postés 1057 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 16 juin 2014 - 4 déc. 2013 à 18:17
Bonjour,


Par jour j'ai plusieurs fichiers qui se créent et qui ont comme noms :

094524 --> pour 9h45 et 24 secondes
094632 --> pour 9h46 et 32 secondes
095628 --> pour 9h56 et 28 secondes

etc..

si dans un shell je fais ls -l dans le répertoire contenant ces fichiers, ils s'affichent bien dans l'ordre de création.

Je suis en train de faire un script qui permettra d'effacer automatiquement ces fichiers quand ceux-ci auront plus de 2 jours d'existence et je cherche a lister les fichiers détruits dans un log.

du coup j'ai crée ce script :

#!/bin/sh

LOG="/etc/scripts/deletefile_'date +%Y%m'.log"

echo "
-----------------------------------------------------------
Suppression des fichiers du 'date +%d/%m/%Y-%H:%M'
-----------------------------------------------------------
" >> $LOG 

echo "[START] 'date +%H:%M'" >> $LOG

echo "Liste des fichiers qui vont etre supprimes" >> $LOG

LISTE='find /mnt/nas/cam/rec -type f -ctime +2 -name "*" -exec ls -lt {} \;'
echo -e "liste : \r$LISTE" >> $LOG

# commande de suppression

#find /mnt/nas/cam/rec -type d -ctime +2 -name "*" -exec rm -rf {} \;

echo "[END] 'date +%H:%M'" >> $LOG


exit



MAIS, quand je vais voir mon fichiers log, les fichiers ne sont pas bien triés, pour reprendre mon exemple du dessus, j'ai le fichier de 9h56 avant celui de 9h46 !

Je ne comprends pas pourquoi j'ai ce soucis, pouvez-vous m'aider ?
Merci d'avance.


**Tant va la cruche à l'eau, qu'à la fin elle se brise**
°°--|€ruci@|--°°
A voir également:

6 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
3 déc. 2013 à 14:17
Salut,

Enlèves l'option
-t
à ta commande
ls
;-\
0
Erucia Messages postés 1057 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 16 juin 2014 151
3 déc. 2013 à 16:57
Salut zipe,

merci mais évidement ça ne change rien, c'est même d'ailleurs pour ça que j'avais ajouté le t (pour tri) mais ça ne changeait rien..

Une autre idée ?
0
Erucia Messages postés 1057 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 16 juin 2014 151
3 déc. 2013 à 17:02
pour info, j'ai ajouté un test dans mon script c'est :

cd /lerepcontenantlesvideos
echo "'ls -lt'" >> $LOG

et là les fichiers se trient bien dans l'ordre, on dirait donc que la commande dans le find merdouille..
0
salut,

le tri n'est pas effectué dans l'
-exec
de find sur l'ensemble des fichiers trouvés, mais un fichier à la fois.

dans l'
-exec
, il faudrait utiliser
\+
au lieu de
\;
.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Erucia Messages postés 1057 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 16 juin 2014 151
4 déc. 2013 à 17:55
merci je vais tenter cela dès demain ;-)
0
Erucia Messages postés 1057 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 16 juin 2014 151
4 déc. 2013 à 18:17
Je ne pouvais pas attendre en fait ! j'ai testé et ça fonctionne !
Merci beaucoup pour l'aide et les explications ;-)
0