在目录和子目录中查找最大文件的最快方法

Ale*_*lex 3 size shell-script sort files

我需要在当前和后续目录中找到最大的文件。我试过

ls -Rlh | awk '{print $3 " " $5 " " $9}' 
Run Code Online (Sandbox Code Playgroud)

但不知道是否可以,如何排序和选择最大的文件。

Rom*_*est 6

GNU find+ sort+head溶液(对于任何目录深度级别)中,假设文件路径不包含换行符:

find . -type f -printf "%s %p\n" | sort -nr | head -1
Run Code Online (Sandbox Code Playgroud)
  • %s - 指向文件大小(以字节为单位)的格式说明符
  • %p - 指向文件名的格式说明符
  • sort -nr - 以相反的顺序对记录进行数字排序
  • head -1 - 打印 TOP 第一行/记录

要获得人类可读的文件大小值 - 使用 GNUnumfmt命令扩展管道(如果支持):

find . -type f -printf "%s %p\n" | sort -nr | head -1 | numfmt --to=si
Run Code Online (Sandbox Code Playgroud)