列出特定目录中前 20 个最大的文件

Chr*_*ris 3 find disk-usage files

我正在尝试显示特定目录中前 20 个最大的文件。我想包含所有子目录,但不包含实际目录本身。(我只想要文件。)我一直在尝试找到一种方法来做到这一点,并且我在网上找到的所有解决方案都不适用于我正在使用的 Unix 上的版本。

到目前为止我有这个:

find /dir -type f -exec ls -al {} \; | sort -nr | head -n 20 du -a -g /dir/ | sort -n -r | head -n 20

拳头给了我一个清单如下:

file1.txt
file1.txt
file1.txt
file2.txt
Run Code Online (Sandbox Code Playgroud)

等等。第二个命令给我以下内容:

500    \path\
250    \path\to\
100    \path\to\directory\
Run Code Online (Sandbox Code Playgroud)

等等。我正在寻找的结果是:

500    \path\file1.txt
250    \path\to\file2.txt
100    \path\to\directory\file3.txt
Run Code Online (Sandbox Code Playgroud)

等等。我尝试过以下问题的解决方案:

我也尝试遵循本教程:

小智 7

find dir/ -type f -exec du -a {} + | sort -nr | head -n 20
Run Code Online (Sandbox Code Playgroud)