liste o registro de data e hora dos arquivos no comando “find”


26

No bash, se eu usar $ find ./ -name "*.sqlite", ele listará todos os arquivos sqlite no diretório atual. Também quero ver a hora modificada dos arquivos. Alguém pode me ajudar?

Respostas:


34

Você pode adicionar à findseguinte expressão:

-printf '%Tc %p\n'

para ver algo como

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

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

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

ou -printf '%T+ %p\n'se você tiver GNU find, para ver

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

Este último, se disponível, também é útil para fins de classificação de tempo.

Veja a página de manual de findonde ele fala printf.


-printfnão funciona no OS-X. Existe um equivalente a este comando que funcionará no OS-X?
WanderingMind

@WanderingMind: no OS-X, sugiro instalar o MacPorts que fornece muitos aplicativos UNIX, em particular as ferramentas GNU, como o GNU find.
enzotib 6/06/17

22

Um truque rápido para obter mais detalhes sobre os arquivos encontrados findé usar a -lsopção de saída.

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

Para resultados mais precisos, a resposta do enzotib é imediata .


Eu dei um voto positivo, mas isso não mostra a data corretamente, por isso é difícil encontrar o "mais novo", por exemplo.
Lpapp 3/03

Este é o único lugar onde eu vim a conhecer a opção -ls que eu estava precisando muito
Atul

-1

Use o comando abaixo para obter a lista de arquivos com registro de data e hora.

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

-3

Isso funciona para mim:

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

4
Parece ser uma duplicata completa da resposta de @ Caleb.
Chris Baixo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.