A voir également:
- Différence entre 2 dates (Aix/KSH)
- Différence entre tcp et udp - Guide
- 2 comptes whatsapp - Guide
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
- Ads.fiancetrack(2).dll - Forum Windows 10
4 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 894
6 sept. 2007 à 21:56
6 sept. 2007 à 21:56
Salut,
[tmpfs]$ var="20070905" [tmpfs]$ date --date="$var" '+%j' 248 [tmpfs]$;-))
vs n avez pas besoin de recuperer la date du fichier dans une variable ( avec un ls -l ... | awk '{ print $6 $7 $8}'
le 8ème argument peut etre l'heure si le fichier a été crée ou modifié il y a moins d'une année ( donc tu auras à gérer le cas du 8eme paramètre)
le mieux c'est de donner le nom du fichier dans une variable exemple $FICHIER
et tu obtiens l'année et le Quantième ( numéro du jour dans l'année) par la commande date :
DateFic=$(date --reference=$FICHIER '+%Y.%j)
comme cela tu ne louperas pas les fichiers vieux de plus d'une année
c'est l'idée de jipicy qui m'a fit relire le man de la commande date
@+
le 8ème argument peut etre l'heure si le fichier a été crée ou modifié il y a moins d'une année ( donc tu auras à gérer le cas du 8eme paramètre)
le mieux c'est de donner le nom du fichier dans une variable exemple $FICHIER
et tu obtiens l'année et le Quantième ( numéro du jour dans l'année) par la commande date :
DateFic=$(date --reference=$FICHIER '+%Y.%j)
comme cela tu ne louperas pas les fichiers vieux de plus d'une année
c'est l'idée de jipicy qui m'a fit relire le man de la commande date
@+
Je sais que je viens un peu après la bataille, mais je suis tombé sur cette discussion par hasard, en cherchant une réponse sur un pb similaire.
Pour supprimer des fichiers vieux de plus de x jours, on peut aussi utiliser un find -exec et -mtime:
find -name "nom_de_fichier" -mtime 5 -exec rm {} \; "path_des_fichiers"
* -mtime n : pour lister les fichiers modifiés depuis n jours,
-atime n : pour lister les fichiers accédés depuis n jours,
* -name pour chercher des fichiers selon leur nom,
-iname pour ne pas tenir compte de la casse (majusc./minusc.)
* -exec applique la commande qui suit à chaque fichier trouvé
{} représente le nom du fichier trouvé
\; permet de terminer la commande (";" avec un \ pour forcer sa prise en compte)
Cela me paraît plus simple que de calculer soi-même des différences de dates...
Pour supprimer des fichiers vieux de plus de x jours, on peut aussi utiliser un find -exec et -mtime:
find -name "nom_de_fichier" -mtime 5 -exec rm {} \; "path_des_fichiers"
* -mtime n : pour lister les fichiers modifiés depuis n jours,
-atime n : pour lister les fichiers accédés depuis n jours,
* -name pour chercher des fichiers selon leur nom,
-iname pour ne pas tenir compte de la casse (majusc./minusc.)
* -exec applique la commande qui suit à chaque fichier trouvé
{} représente le nom du fichier trouvé
\; permet de terminer la commande (";" avec un \ pour forcer sa prise en compte)
Cela me paraît plus simple que de calculer soi-même des différences de dates...