On Wed, 01 Oct 2003 03:52:44 -0700, Antoine wrote:
bonjour
j'ai une serie de fichier nommer fichier20031001, fichier20031002, fichier20031003 ... j'aimerai effacer tous les fichiers datant des 15 dernier jours
comment faire pour comparer la date actuelle avec la date des fichier a effacer ?
j'attend vos reponse avec impatience merci d avance
find . -mtime -16
mister_eon
(Antoine) wrote in message news:...
bonjour
j'ai une serie de fichier nommer fichier20031001, fichier20031002, fichier20031003 ... j'aimerai effacer tous les fichiers datant des 15 dernier jours
comment faire pour comparer la date actuelle avec la date des fichier a effacer ?
j'attend vos reponse avec impatience merci d avance
j'ai une idee sur la facon de procede j'imagine qu avec find je doit pouvoir trouver le(s) fichier(s) qui ont une date de creation de 15 jours est ce une bone methode ou non ?
Antoine
mister_eon@hotmail.com (Antoine) wrote in message news:<416f5706.0310010252.ebcf75e@posting.google.com>...
bonjour
j'ai une serie de fichier nommer fichier20031001, fichier20031002,
fichier20031003 ...
j'aimerai effacer tous les fichiers datant des 15 dernier jours
comment faire pour comparer la date actuelle avec la date des fichier
a effacer ?
j'attend vos reponse avec impatience
merci d avance
mister_eon@hotmail.com
j'ai une idee sur la facon de procede
j'imagine qu avec find je doit pouvoir trouver le(s) fichier(s) qui
ont une date de creation de 15 jours
est ce une bone methode ou non ?
j'ai une serie de fichier nommer fichier20031001, fichier20031002, fichier20031003 ... j'aimerai effacer tous les fichiers datant des 15 dernier jours
comment faire pour comparer la date actuelle avec la date des fichier a effacer ?
j'attend vos reponse avec impatience merci d avance
j'ai une idee sur la facon de procede j'imagine qu avec find je doit pouvoir trouver le(s) fichier(s) qui ont une date de creation de 15 jours est ce une bone methode ou non ?
Antoine
mister_eon
(Antoine) wrote in message news:...
bonjour
j'ai une serie de fichier nommer fichier20031001, fichier20031002, fichier20031003 ... j'aimerai effacer tous les fichiers datant des 15 dernier jours
comment faire pour comparer la date actuelle avec la date des fichier a effacer ?
j'attend vos reponse avec impatience merci d avance
en fait j ai trouver ca : find /home -ctime -1 -exec rm {} ;
Eon
mister_eon@hotmail.com (Antoine) wrote in message news:<416f5706.0310010252.ebcf75e@posting.google.com>...
bonjour
j'ai une serie de fichier nommer fichier20031001, fichier20031002,
fichier20031003 ...
j'aimerai effacer tous les fichiers datant des 15 dernier jours
comment faire pour comparer la date actuelle avec la date des fichier
a effacer ?
j'attend vos reponse avec impatience
merci d avance
mister_eon@hotmail.com
en fait j ai trouver ca :
find /home -ctime -1 -exec rm {} ;
Le Wed, 01 Oct 2003 08:00:35 -0700, Antoine nous gratifiait d'un :
en fait j ai trouver ca : find /home -ctime -1 -exec rm {} ;
Bonjour un find /home -ctime -1 |xargs -r rm me semble plus adapté (utilise moins de ressource)
Stephane CHAZELAS
Le 1 Oct 2003 08:00:35 -0700, Antoine écrivait : [...]
j'ai une serie de fichier nommer fichier20031001, fichier20031002, fichier20031003 ... j'aimerai effacer tous les fichiers datant des 15 dernier jours
comment faire pour comparer la date actuelle avec la date des fichier a effacer ? [...]
en fait j ai trouver ca : find /home -ctime -1 -exec rm {} ;
-ctime, c'est pour la date de dernière modification de l'i-node (status change time). Pour la date de dernière modif du fichier (qui implique une modification de l'inode, mais ce n'est pas réciproque), c'est -mtime, il n'y a pas de date de création sous Unix.
Avec le shell zsh, pour effacer les fichiers vieux de moins de 15 jours:
rm fichier????????(m-15)
Si tu veux les fichiers dont le *nom* indique qu'il est vieux de moins de 15 jours, tu peux faire:
setopt extendedglob range=$(date -d -15days +'fichier<%Y%m%d->') # range devient fichier<20030921-> ce qui pour zsh veut dire les # fichiers dont le nom est de la forme "fichier" suivi d'un # nombre supérieur ou égal à 20030921. rm $~range # qu'on peut contracter en : rm ${~"$(date -d -15days +'fichier<%Y%m%d->')"}
De manière générale éviter le -print | xargs (sans "0") car ça foire dès qu'il y a des espaces tab, NL, des single/double quotes, des backslashs dans les noms des fichiers.
-- Stéphane
Le 1 Oct 2003 08:00:35 -0700, Antoine <mister_eon@hotmail.com> écrivait :
[...]
j'ai une serie de fichier nommer fichier20031001, fichier20031002,
fichier20031003 ...
j'aimerai effacer tous les fichiers datant des 15 dernier jours
comment faire pour comparer la date actuelle avec la date des fichier
a effacer ?
[...]
en fait j ai trouver ca :
find /home -ctime -1 -exec rm {} ;
-ctime, c'est pour la date de dernière modification de l'i-node
(status change time). Pour la date de dernière modif du fichier
(qui implique une modification de l'inode, mais ce n'est pas
réciproque), c'est -mtime, il n'y a pas de date de création sous
Unix.
Avec le shell zsh, pour effacer les fichiers vieux de moins de
15 jours:
rm fichier????????(m-15)
Si tu veux les fichiers dont le *nom* indique qu'il est vieux
de moins de 15 jours, tu peux faire:
setopt extendedglob
range=$(date -d -15days +'fichier<%Y%m%d->')
# range devient fichier<20030921-> ce qui pour zsh veut dire les
# fichiers dont le nom est de la forme "fichier" suivi d'un
# nombre supérieur ou égal à 20030921.
rm $~range
# qu'on peut contracter en :
rm ${~"$(date -d -15days +'fichier<%Y%m%d->')"}
De manière générale éviter le -print | xargs (sans "0") car ça
foire dès qu'il y a des espaces tab, NL, des single/double
quotes, des backslashs dans les noms des fichiers.
Le 1 Oct 2003 08:00:35 -0700, Antoine écrivait : [...]
j'ai une serie de fichier nommer fichier20031001, fichier20031002, fichier20031003 ... j'aimerai effacer tous les fichiers datant des 15 dernier jours
comment faire pour comparer la date actuelle avec la date des fichier a effacer ? [...]
en fait j ai trouver ca : find /home -ctime -1 -exec rm {} ;
-ctime, c'est pour la date de dernière modification de l'i-node (status change time). Pour la date de dernière modif du fichier (qui implique une modification de l'inode, mais ce n'est pas réciproque), c'est -mtime, il n'y a pas de date de création sous Unix.
Avec le shell zsh, pour effacer les fichiers vieux de moins de 15 jours:
rm fichier????????(m-15)
Si tu veux les fichiers dont le *nom* indique qu'il est vieux de moins de 15 jours, tu peux faire:
setopt extendedglob range=$(date -d -15days +'fichier<%Y%m%d->') # range devient fichier<20030921-> ce qui pour zsh veut dire les # fichiers dont le nom est de la forme "fichier" suivi d'un # nombre supérieur ou égal à 20030921. rm $~range # qu'on peut contracter en : rm ${~"$(date -d -15days +'fichier<%Y%m%d->')"}
De manière générale éviter le -print | xargs (sans "0") car ça foire dès qu'il y a des espaces tab, NL, des single/double quotes, des backslashs dans les noms des fichiers.