Shell-Script
在目錄和子目錄中查找最大文件的最快方法
我需要在目前和後續目錄中找到最大的文件。我試過
ls -Rlh | awk '{print $3 " " $5 " " $9}'
但不知道是否可以,如何排序和選擇最大的文件。
GNU
find
++解決方案(對於任何目錄深度級別**sort
)head
**,假設文件路徑不包含換行符:find . -type f -printf "%s %p\n" | sort -nr | head -1
%s
- 指向文件大小的格式說明符(以字節為單位)%p
- 指向文件名的格式說明符sort -nr
- 以相反的順序對記錄進行排序head -1
- 列印 TOP 第一行/記錄要獲得人類可讀的文件大小值 - 使用 GNU 命令擴展管道
numfmt
(如果支持):find . -type f -printf "%s %p\n" | sort -nr | head -1 | numfmt --to=si