Найти крупнейшие файлы в каталоге в определенном диапазоне даты

$ find '.' -regextype sed -regex '-file[0-9]'

Чтобы найти с определенным номером длины, например -file90 , -file15

$ find '.' -regextype sed -regex '-file[0-9]\{2\}'

или

$ find '.' -name '-file*'
1
06.09.2018, 22:21
3 ответа

Попробуйте это,

find. -newer /tmp/point.start ! -newer /tmp/point.end  ! -path. | xargs ls -ltr | sort -nk5 | tail -20
  • xargsсоздавать и выполнять командные строки из стандартного ввода
0
27.01.2020, 23:18

Если вы можете использовать -printfс вашимfind:

find. -newer /tmp/point.start ! -newer /tmp/point.end -printf '%s %p\n' | 
  sort -rn | head -20
3
27.01.2020, 23:18

Сzsh:

autoload age # best in ~/.zshrc if you use that often
ls -ldS -- *(De:age 2018-06-01 2018-06-30:OL[1,20])
  • -S:сортировать по размеру. С GNU ls(, найденным в RedHat 5.3 ), вы можете использовать -Uдля отказа от сортировки, так как zshуже отсортировал список с помощью OL.
  • (...):квалификатор глоба
  • D:не игнорировать точечные файлы.
  • e:code:оцените код, чтобы решить, следует ли выбирать файл
  • age date1 date2:возвращает true для файлов с mtime в этом диапазоне (без временной части, по умолчанию 00 :00 :00)
  • OL:обратная сортировка по длине (размеру)
  • [1,20]:выберите только первые 20.
1
27.01.2020, 23:18

Теги

Похожие вопросы