查找每个目录的最大文件

finding largest file for each directory

我目前无法列出特定目录中 each 子目录的最大文件。 通过输入以下命令(在 Debian 中),我成功地列出了目录中最大的文件:

find . -type f -printf "%p\n" | ls -rS |tail -1

我希望在 shell 文件 (searchHelper.sh) 和 运行 中输入命令,以下命令将 return 每个子目录的预期文件名:

find -type d -execdir ./searchHelper.sh {} +

不幸的是,它不是每个子目录的最大文件 return,而是其他东西。

可以提示我获取每个子目录的最大文件的文件名(带绝对路径)吗?

非常感谢

试试这个安全且经过测试的版本:

find "$(pwd)" -depth -type f -printf "d%h[=10=]%s %p[=10=]" | awk -v RS="[=10=]" '
  /^d/ {
    directoryname=substr([=10=],2);
  }
  /^[0-9]/ {
    if (!biggestfilesizeindir[directoryname] || biggestfilesizeindir[directoryname] < ) {
      biggestfilesizeindir[directoryname]=;
      biggestfilesizefilenameindir[directoryname]=substr([=10=],index([=10=]," ")+1);
    }
  }
  END {
    for (directoryname in biggestfilesizefilenameindir) {
      print biggestfilesizefilenameindir[directoryname];
    }
  }'

即使名称包含特殊字符也是安全的:' " \n