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