如何在目录中查找最大的文件 – 忽略目录大小

我想要做这样的事情

du -a | sort -rn | head 

但是我只想提取文件,忽略目录。

要清楚,我想遍历所有的子目录,但我不想find目录大小。 只是文件大小。

UPDATE

我也想要返回文件的完整path

这应该工作:

 find <path> -type f -exec du -a{} + | sort -rn | head 

取自http://unix-linux.itags.org/q_unix-linux-programming_84920.html

一种find目录中最大的文件的方法:

 find . -type f | xargs ls -1S | head -n 1 

我只是想添加我的解决scheme,尽pipe它不像@Michael Plotke那样完整

 ls -lR | egrep "^-" | awk '{ print $5, "\t", $8 }' | sort -rn | head 

更新

我现在不得不在BSD unix上使用这个脚本(我原本不打算这样做),发现Michael的解决scheme不起作用。

通过将@steve的解决scheme整合到我的系统中,这个解决scheme更适用于BSD系统:

 find . -type f | xargs ls -lS | awk '{ print $5, "\t", $9 }' | head