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-