enumerar la marca de tiempo de los archivos en el comando "buscar"

26

En bash, si lo uso $ find ./ -name "*.sqlite", enumerará todos los archivos sqlite en el directorio actual. También quiero ver el tiempo modificado de los archivos, ¿alguien puede ayudarme?

JW
fuente

Respuestas:

34

Puede agregar a findla siguiente expresión:

-printf '%Tc %p\n'

para ver algo como

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

o -printf '%TD %TT %p\n'para

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

o -printf '%T+ %p\n'si tienes GNU find, para ver

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

Este último, si está disponible, también es útil para fines de clasificación de tiempo.

Ver página del manual de find, donde se habla de printf.

enzotib
fuente
-printfno funciona en OS-X. ¿Hay un equivalente a este comando que funcione para OS-X?
WanderingMind
@WanderingMind: en OS-X sugiero instalar MacPorts que proporcione muchas aplicaciones UNIX, en particular herramientas GNU, como GNU find.
enzotib
22

Un truco rápido para obtener más detalles sobre los archivos encontrados por findes utilizar la -lsopción de salida.

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

Para obtener resultados más precisos, la respuesta de enzotib es acertada .

Caleb
fuente
Di un voto a favor, pero esto no muestra la fecha correctamente, por lo que es difícil encontrar el "más nuevo", por ejemplo.
lpapp
Este es el único lugar donde conocí la opción -ls que tanto necesitaba
Atul
-1

Use el siguiente comando para obtener una lista de archivos con marca de tiempo.

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

Esto funciona para mi:

$ find ./ -name "*.sqlite" -ls
ivaniliev
fuente
44
Esto parece ser un duplicado completo de la respuesta de @ Caleb.
Chris Down