GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo listar archivos recursivamente y ordenarlos por tiempo de modificación?

Usa find de -printf y ordenar en un formato de fecha razonable:

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

Esto debería minimizar las bifurcaciones del proceso y, por lo tanto, ser el más rápido.

Ejemplos si no le gusta la segunda parte fraccionaria (que a menudo no se implementa en el sistema de archivos de todos modos):

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

EDITAR: find estándar en Mac no tiene -printf . Pero no es difícil instalar GNU find en Mac (consulte también ese enlace para obtener más advertencias sobre la compatibilidad con Mac/Linux y xargs ).


Aquí hay un método que usa stat como sugirió @johnshen64

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

Linux
  1. Cómo encontrar y ordenar archivos según la fecha y hora de modificación en Linux

  2. Cómo encontrar archivos de configuración de MySQL, PHP y Apache

  3. Cómo encontrar el número de archivos en un directorio y subdirectorios

  4. Cómo buscar y eliminar directorios recursivamente en Linux

  5. Cómo enumerar recursivamente todos los archivos y directorios

Cómo encontrar recursivamente y enumerar los archivos por fecha en Linux

Encuentre y ordene archivos según el acceso, la fecha y la hora de modificación en Linux

Cómo encontrar archivos duplicados en Linux y eliminarlos

Cómo listar archivos recursivamente en Linux

Cómo encontrar la fecha y hora de instalación del sistema operativo Linux

¿Cómo enumerar todos los archivos de una partición en Linux?