#1 Le 27/01/2010, à 21:19
- ceddes
[RESOLU] recherche fichiers "de la semaine en cours" avec find...
Bonjour,
Je souhaite effectuer une recherche de fichiers qui ont étaient créés ou modifiés lors de la semaine courante.
Exemple : nous sommes jeudi de la semaine 4 et je souhaite donc trouver les fichiers créés ou modifiés du lundi, mardi, mercredi et jeudi de la semaine en question.
Je voudrai que cette commande s'appuie sur la date du jour où elle est exécutée, ainsi je pourrai l'utiliser dans un cron associé avec d'autres commandes.
Avec la commande ls, j'ai l'impression d'être plus limité concernant les filtres sur les dates, alors que find semble disposer de plus fonctionnalité concernant la recherche par date.
Quoiqu'il en soit, je suis bloqué et je ne sais pas avec quelle(s) autre(s) commande(s) associer "ls" ou "find" pour arriver à mes fins.
Je suis preneur d'une commande pratique. Merci d'avance pour le coup de pouce.
Dernière modification par ceddes (Le 09/02/2010, à 05:49)
Hors ligne
#2 Le 27/01/2010, à 21:26
- helly
Re : [RESOLU] recherche fichiers "de la semaine en cours" avec find...
ls -al
affiche la date de dernière modif du fichier, en jouant avec des pipes tu doit pouvoir t'en sortir
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#3 Le 27/01/2010, à 21:30
- Ferod
Re : [RESOLU] recherche fichiers "de la semaine en cours" avec find...
Bonsoir
Il est facile de trouver les fichiers modifiés il y a X jours (X étant fixe). C'est :
find /Lien/vers/ton/repertoire -atime -X
Sinon petit précision dans le man find :
-atime -X : liste tous les fichiers qui ont été modifié depuis X jours
-atime X : liste tous les fichiers qui ont été modifié X jours auparavant (et uniquement ce jour là)
-atime +X : liste tous les fichiers qui n'ont pas été modifié depuis X jours.
-atime n
Dernier accès au fichier il y a n*24 heures. Lorsque find cal‐
cule le nombre de périodes de 24 heures depuis lequel le fichier
a été accédé, la partie fractionnelle est ignorée. Ainsi, pour
correspondre à -atime +1, un fichier doit avoir été accédé il y
a au moins deux jours.
Par contre je ne sais pas calculer le X pour qu'il corresponde au nombre de jour écoulé depuis le lundi...
Ca doit surement être possible...
Dernière modification par Ferod (Le 27/01/2010, à 21:35)
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#4 Le 27/01/2010, à 21:34
- Compte anonymisé
Re : [RESOLU] recherche fichiers "de la semaine en cours" avec find...
Salut
Une des possibilités :
Créer le premier jour de la semaine un fichier que tu appelleras par exemple lundi
et ensuite tous les jours tu passes tes commandes :
find /ton_répertoire_de_début_de_recherche -newer /chemin/lundi -print
Et tous les lundi tu recrées ce fichier via cron.
Et voili voilou.
Dernière modification par Compte anonymisé (Le 28/01/2010, à 13:56)
#5 Le 27/01/2010, à 21:35
- Michel Leunen
Re : [RESOLU] recherche fichiers "de la semaine en cours" avec find...
A partir du répertoire courant:
find . -ctime 7
Cette commande recherche les fichiers modifiés depuis 7*24h.
La commande find a plein de possibilités:
man find
Michel Leunen
http://linux.leunen.com
Hors ligne
#6 Le 27/01/2010, à 23:11
- sputnick
Re : [RESOLU] recherche fichiers "de la semaine en cours" avec find...
Je déconseille fortement ctime et atime. Ce qui est intéressant c'est -mtime : date de modification, création, dernière écriture du fichier. Atime c'est la date d'accès en lecture !
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#7 Le 28/01/2010, à 09:09
- ceddes
Re : [RESOLU] recherche fichiers "de la semaine en cours" avec find...
Merci pour vos réponses,
La piste de Ferod me plait, le truc est de trouver la valeur de X le nombre de jours et avec la commande suivante je pense avoir la réponse :
date + %w
Il ne reste plus qu'à l'intégrer à find
find /Lien/vers/ton/repertoire -daystart -mtime -$(date +%w)
par contre je ne suis pas certain de la façon dont je doit la passer en paramètre, ça se semble fonctionner mais je ne sais pas si ça marche réellement à chaque fois.
Encore un peu d'aide svp pour me confirmer que ça marche pour vous et que c'est bon.
Dernière modification par ceddes (Le 28/01/2010, à 09:11)
Hors ligne
#8 Le 02/02/2010, à 02:57
- ceddes
Re : [RESOLU] recherche fichiers "de la semaine en cours" avec find...
Personne pour confirmer, c'est pas grave.
Pour ceux qui voudraient s'en inspirer, ça donne à priori le résultat voulu.
Hors ligne