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?

JW
fonte

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.

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

Caleb
fonte
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" 
Prashant Sawant
fonte
-3

Isso funciona para mim:

$ find ./ -name "*.sqlite" -ls
ivaniliev
fonte
4
Parece ser uma duplicata completa da resposta de @ Caleb.
Chris Baixo