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)