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.