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.