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?

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.


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


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" 

-3

Cela fonctionne pour moi:

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

4
Cela semble être un double complet de la réponse de @ Caleb.
Chris Down
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.