Ale*_*lex 3 size shell-script sort files
我需要在当前和后续目录中找到最大的文件。我试过
ls -Rlh | awk '{print $3 " " $5 " " $9}'
Run Code Online (Sandbox Code Playgroud)
但不知道是否可以,如何排序和选择最大的文件。
GNU find+ sort+head溶液(对于任何目录深度级别)中,假设文件路径不包含换行符:
find . -type f -printf "%s %p\n" | sort -nr | head -1
Run Code Online (Sandbox Code Playgroud)
%s - 指向文件大小(以字节为单位)的格式说明符%p - 指向文件名的格式说明符sort -nr - 以相反的顺序对记录进行数字排序head -1 - 打印 TOP 第一行/记录要获得人类可读的文件大小值 - 使用 GNUnumfmt命令扩展管道(如果支持):
find . -type f -printf "%s %p\n" | sort -nr | head -1 | numfmt --to=si
Run Code Online (Sandbox Code Playgroud)