elenca il timestamp dei file nel comando "trova"


26

In bash, se uso $ find ./ -name "*.sqlite", elencherà tutti i file sqlite nella directory corrente. Voglio anche vedere l'ora modificata dei file, qualcuno può darmi un aiuto?

Risposte:


34

È possibile aggiungere alla findseguente espressione:

-printf '%Tc %p\n'

per vedere qualcosa di simile

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

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

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

o -printf '%T+ %p\n'se hai GNU find, per vedere

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

Quest'ultimo, se disponibile, è utile anche per scopi di classificazione dei tempi.

Vedi la pagina di manuale di find, di cui parla printf.


-printfnon funziona in OS-X. Esiste un equivalente a questo comando che funzionerà per OS-X?
WanderingMind

@WanderingMind: in OS-X suggerisco di installare MacPorts che fornisce molte applicazioni UNIX, in particolare strumenti GNU, come GNU find.
enzotib,

22

Un trucco rapido per ottenere maggiori dettagli sui file trovati findè di utilizzare l' -lsopzione di output.

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

Per risultati più precisi la risposta di enzotib è esatta .


Ho dato un voto, ma questo non mostra la data correttamente, quindi è difficile trovare il "più nuovo" per esempio.
LP

Questo è l'unico posto dove sono venuto a conoscenza dell'opzione -ls di cui avevo molto bisogno
Atul

-1

Utilizzare il comando seguente per ottenere un elenco di file con timestamp.

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

-3

Questo funziona per me:

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

4
Questo sembra essere un duplicato completo della risposta di @ Caleb.
Chris Down,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.