Mac: Как рекурсивно найти самые большие файлы в подкаталоге (игнорируя все каталоги)

Mac: Как рекурсивно найти самые большие файлы в подкаталоге (игнорируя все каталоги)

У меня есть каталог с именем root. Он имеет глубоко вложенные подкаталоги. В этих подкаталогах есть куча файлов. Я хочу найти самые большие файлы в root.

янеХочу найти каталоги вообще. Мне не важен размер самого большого каталога, я просто хочу найти самые большие файлы.

root
|
- subdir1
  |
  - small file 1
  - large file 1
  - small file 2
  ... lots more files      
- subdir2
  |
  - small file 3
  - large file 2

Я хочу распечатать large file 1и large file 2. Я не хочу, чтобы он распечатывал что-либо о root, subdir1, или subdir2, даже если они больше, чем large file 1или 2. Для меня это просто шум.

Как это сделать на Mac в командной строке?

решение1

Давайте lsсделаем сортировку->

find . -type f -exec ls -S {} + | head -n10

решение2

Вот что у меня получилось:

find . -type f -exec ls -l {} + | sort -rk 5,5 | head -10

Найти все файлы (это игнорирует каталоги), затем ls -lих, чтобы я мог увидеть их размеры. Передать это в sort. -k 5,5говорит сортировать по 5-му столбцу (столбец, который имеет размер), и -rсортирует по убыванию. head -10дает мне самые большие 10 (не полный список).

Связанный контент