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?

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.


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


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" 

-3

Esto funciona para mi:

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

44
Esto parece ser un duplicado completo de la respuesta de @ Caleb.
Chris Down
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.