查找目录中最大的文件,但不输出大小

查找目录中最大的文件,但不输出大小

我需要找到最大的文件

  1. 仅应列出一个文件
  2. 搜索应在给定的目录和子目录中进行
  3. 输出应显示带有文件名的文件的绝对路径

    find "$PARAM" -type f | xargs ls -1S | head -n 1
    

有效,但出现类似以下错误

ls:无法访问 Over:没有这样的文件或目录

答案1

不要解析ls. 让find这个为你完成工作:

find "$PARAM" -type f -printf "%s\t%p\n" | sort -n | tail -n 1 | cut -f 2- 

没有 find,我们可以使用 bash 的递归通配符:

shopt -s globstar nullglob
stat -c $'%s\t%F\t%n' ** \
| awk -F'\t' '$2 == "regular file"' \
| sort -n \
| tail -n 1 \
| cut -f 3-

OSX 上的 stat 将具有不同但等效的 stat 选项,并且可能会为“常规文件”输出不同的字符串。

相关内容