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 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找到它們,以便我可以看到它們的大小。將其傳遞給排序。-k 5,5表示按第五列(具有大小的列)排序,並依-r降序排序。 head -10給我最大的 10 個(不是完整清單)。

相關內容