Shell-Script

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

  • November 20, 2017

我需要在目前和後續目錄中找到最大的文件。我試過

ls -Rlh | awk '{print $3 " " $5 " " $9}' 

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

GNU find++解決方案(對於任何目錄深度級別**sorthead**,假設文件路徑不包含換行符:

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

引用自:https://unix.stackexchange.com/questions/405798