Это проще в zsh, благодаря его глобальным квалификаторам .
print -l /**/*~/(proc|dev|sys)/*(m-2om)
В этом списке перечислены все файлы /, за исключением файлов в /procили /devили /sys, которые были изменены в течение последних 2 дней ( m-2). Файлы перечислены в обратном хронологическом порядке изменения времени ( om), по одному на строку ( print -l).
Если вы также хотите перечислить метаданные файла, вам не нужно сортировать в оболочке, только фильтровать. Вы можете столкнуться с пределом длины командной строки, зависящим от платформы, если слишком много подходящих файлов.
ls -dlt /**/*~/(proc|dev|sys)/*(m-2)
Если вы хотите сопоставлять только обычные файлы, добавьте .в скобках.
Имея только инструменты POSIX, вы можете использовать их ls -dltдля сортировки и findсоздания списка файлов. Опять же, вы можете столкнуться с пределом длины командной строки, зависящим от платформы, если слишком много подходящих файлов. Если вы хотите сопоставлять только обычные файлы, добавьте -type fдо или после mtime -2.
find / -mtime -2 -exec ls -dlt {} +