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 1large file 2。我不希望它打印出有关root、、subdir1或的任何内容subdir2,即使它们大于large file 12。这对我来说只是噪音。

我如何在 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 个(不是完整列表)。

相关内容