Použijte find
's -printf
a seřadit podle přiměřeného formátu data:
find -type f -printf '%T+\t%p\n' | sort -n
To by mělo minimalizovat rozvětvení procesů, a tak být nejrychlejší.
Příklady, pokud se vám nelíbí zlomková druhá část (která stejně často není implementována v systému souborů):
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
UPRAVIT: Standardní find
na Macu nemá -printf
. Není však obtížné nainstalovat GNU find na Mac (viz také tento odkaz pro další upozornění týkající se kompatibility Mac/Linux a xargs
).
Zde je metoda využívající stat
jak navrhl @johnshen64
find . -type f -exec stat -f "%m%t%Sm %N" '{}' \; | sort -rn | head -20 | cut -f2-