81 votes

Linux : utilisation de find pour localiser les fichiers plus anciens que <date>

find a un bon support pour trouver les fichiers les plus modifiés il y a moins de X jours, mais comment puis-je utiliser find pour localiser tous les fichiers modifiés avant une certaine date ?

Je ne trouve rien dans le find pour faire cela, seulement pour comparer avec l'heure d'un autre fichier ou pour vérifier les différences entre l'heure de création et maintenant. Est-ce que la création d'un fichier avec l'heure souhaitée et la comparaison avec ce fichier est la seule façon de faire cela ?

8voto

Muzaffar Mahmood Points 141
find ! -newermt “<DATE>”

comme ça :

find ! -newermt “jan 01 2015” 

Cela vous donnera les fichiers plus anciens que le 01-01-2015 dans votre répertoire actuel.

https://muzaffarmahmoodblog.wordpress.com/2019/07/11/linux-command-to-remove-files-older-than-2015-in-a-directory/

3voto

mt21 Points 1
find <dir> -mtime +20

est la réponse correcte à cette question (trouver les fichiers modifiés avant les 20 derniers jours).

1voto

illracer Points 1221

Vous pourriez utiliser un script comme ceci

#!/bin/bash

if [ $# -ne 1 ];then
  when="today"
else
  when=` date -d "$1" +"%s" `
fi
now=`date +"%s"`

seconds=`echo "$when - $now" | bc`
minutes=`echo "$seconds / 60 " | bc `

find . -cmin $minutes -print

Enregistrez-le dans votre $PATH sous le nom de "newerthan" et rendez-le exécutable.

Vous pouvez alors trouver les fichiers modifiés après une certaine date comme ceci :

newerthan "2010-03-10"

ou

newerthan "last year"

ou

newerthan "yesterday"

Cela devrait faire ce que vous voulez. Je ne pense pas qu'il y ait un moyen intégré d'y parvenir autrement.

0voto

user37841 Points 331

Si votre date est formatée de telle sorte qu'elle peut être comparée,

mydate=201003160120
find . -type f -printf "%AY%Am%Ad%AH%AM%AS/:%p\n" | awk -vd="$mydate" -F'/:' '$1 > d{ print $2 }'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X