Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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. smile

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 smile


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