GNU/Linux >> Linux Esercitazione >  >> Linux

Come elencare i file in modo ricorsivo e ordinarli in base all'ora di modifica?

Usa find -printf di e ordinare in un formato di data ragionevole:

find -type f -printf '%T+\t%p\n' | sort -n

Questo dovrebbe ridurre al minimo i fork del processo e quindi essere il più veloce.

Esempi se non ti piace la seconda parte frazionaria (che comunque spesso non è implementata nel file system):

find -type f -printf '%T+\t%p\n' | sed 's/\.[[:digit:]]\{10\}//' | sort -n
find -type f -printf '%T+\t%p\n' | cut --complement -c 20-30 | sort -n

MODIFICA: Standard find su Mac non ha -printf . Ma non è difficile installare GNU find su Mac (vedi anche quel link per ulteriori avvertimenti riguardanti la compatibilità Mac/Linux e xargs ).


Ecco un metodo che utilizza stat come suggerito da @johnshen64

find . -type f -exec stat -f "%m%t%Sm %N" '{}' \; | sort -rn | head -20 | cut -f2-

Linux
  1. Come trovare e ordinare i file in base alla data e all'ora di modifica in Linux

  2. Come trovare file di configurazione MySQL, PHP e Apache

  3. Come trovare il numero di file in una directory e sottodirectory

  4. Come cercare e rimuovere le directory in modo ricorsivo su Linux

  5. Trova e ordina i file in base all'accesso, alla data e all'ora di modifica in Linux

Come trovare ed elencare in modo ricorsivo i file per data in Linux

Come trovare file duplicati in Linux e rimuoverli

Come elencare i file in modo ricorsivo in Linux

Come trovare la data e l'ora di installazione del sistema operativo Linux

Trova i file e tarali (con spazi)

Come faccio a trovare i file e sommare le loro dimensioni?