2009-04-29 9 views

risposta

12

Per trovare tutti i file modificati solo oggi (dall'inizio del giorno solo, ovvero 12 del mattino), in directory corrente e le sue sottodirectory:

touch -t `date +%m%d0000` /tmp/$$ 
find . -type f -newer /tmp/$$ 
rm /tmp/$$ 

Source

37

Sul mio sistema Fedora 10, con findutils-4.4.0-1.fc10.i386:

find <path> -daystart -ctime 0 -print 

Il flag -daystart indica di calcolare dall'inizio di oggi anziché da 24 ore.

Nota tuttavia che in questo modo verranno elencati i file creati o modificati nell'ultimo giorno. find non ha opzioni che guardano la vera data di creazione del file.

+0

né è la "vera data di creazione" anche disponibili come le informazioni che i negozi filesystem. – ephemient

1

Non è possibile. @ La risposta di Alnitak è la migliore che tu possa fare, e sarà ti darà tutti i nuovi file nel periodo di tempo per il quale sta verificando, ma -ctime controlla effettivamente l'ora di modifica dell'inode del file (descrittore di file), e così catturerà anche file più vecchi (ad esempio) rinominati nell'ultimo giorno.

22
find . -mtime -1 -type f -print 
+2

Non utilizzare i backtick; non usare 'pwd' eccetto per la stampa (che è la p in' pwd') la directory di lavoro. Usare'' per fare riferimento alla directory corrente. –

-1

È possibile utilizzare find e ls di realizzare con questo:

find . -type f -exec ls -l {} \; | egrep "Aug 26"; 

troverà tutti i file in questa directory, visualizzare informazioni utili (-l) e filtrare le righe con una data che si desidera. .. Può essere un po 'lento, ma comunque utile in alcuni casi.

0

Basta ricordare che ci sono 2 spazi tra il 26 agosto e il 26. Altri saggi il comando di ricerca non funzionerà.

find . -type f -exec ls -l {} \; | egrep "Aug 26"; 
0

se siete fatto qualcosa di simile accidentalmente rsync'd alla directory sbagliata, i suggerimenti di cui sopra lavoro per trovare nuovi file, ma per me, è stato il più facile il collegamento con un client SFTP come Transmit poi ordinare per data e cancellazione.

1

Io uso questo con una certa frequenza:

$ ls -altrh --time-style=+%D | grep $(date +%D)