lister l'horodatage des fichiers dans la commande "find"

26

En bash, si j'utilise $ find ./ -name "*.sqlite", il listera tous les fichiers sqlite dans le répertoire courant. Je veux également voir l'heure modifiée des fichiers, quelqu'un peut-il m'aider?

JW
la source

Réponses:

34

Vous pouvez ajouter à findl'expression suivante:

-printf '%Tc %p\n'

pour voir quelque chose comme

Sun Aug 14 06:29:38 2011 ./.nx/config/host.nxs

ou -printf '%TD %TT %p\n'pour

08/14/11 06:29:38.2184481010 ./.nx/config/host.nxs

ou -printf '%T+ %p\n'si vous avez GNU find, pour voir

2011-08-14+06:29:38.2184481010 ./.nx/config/host.nxs

Ce dernier, s'il est disponible, est également utile à des fins de tri temporel.

Voir la page de manuel de find, où il parle printf.

enzotib
la source
-printfne fonctionne pas sous OS-X. Existe-t-il un équivalent à cette commande qui fonctionnera pour OS-X?
WanderingMind
@WanderingMind: dans OS-X, je suggère d'installer MacPorts qui fournit de nombreuses applications UNIX, en particulier des outils GNU, comme GNU find.
enzotib
22

Un hack rapide pour obtenir plus de détails sur les fichiers trouvés par findest d'utiliser l' -lsoption de sortie.

find ./ -name "*.sqlite" -ls

Pour des résultats plus précis, la réponse d'Enzotib est parfaite .

Caleb
la source
J'ai donné un vote positif, mais cela ne montre pas la date correctement, il est donc difficile de trouver le "plus récent" par exemple.
lpapp
C'est le seul endroit où j'ai découvert l'option -ls dont j'avais vraiment besoin
Atul
-1

Utilisez la commande ci-dessous pour obtenir la liste des fichiers avec horodatage.

$ find . -type f | xargs ls -l --time-style="+%d-%m-%Y" 
Prashant Sawant
la source
-3

Cela fonctionne pour moi:

$ find ./ -name "*.sqlite" -ls
ivaniliev
la source
4
Cela semble être un double complet de la réponse de @ Caleb.
Chris Down