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.