如何排序';查找';按大小生成bash

如何排序';查找';按大小生成bash,bash,shell,sorting,find,pipe,Bash,Shell,Sorting,Find,Pipe,我想知道是否有一种“简单”的方式(通过管道或其他方式)来订购(按文件大小)bash中“find”命令的结果,例如: find /location/of/directory/ -type f -size +2G 例如,您可以使用%k以千字节为单位打印大小: find . -type f -size +2G -printf "%kKB %p\n" | sort -n 通过说-printf”%kKB%p\n“,您正在以千字节为单位打印文件,然后打印名称 sort-n获取此输入并相应地对其进行排序

我想知道是否有一种“简单”的方式(通过管道或其他方式)来订购(按文件大小)bash中“find”命令的结果,例如:

find /location/of/directory/ -type f -size +2G

例如,您可以使用
%k
以千字节为单位打印大小:

find . -type f -size +2G -printf "%kKB %p\n" | sort -n
  • 通过说
    -printf”%kKB%p\n“
    ,您正在以千字节为单位打印文件,然后打印名称
  • sort-n
    获取此输入并相应地对其进行排序
请参见一个示例:

$ find . -type f -size +1M -printf "%p %kKB\n" | sort -n -k2
./arrr.txt.gz 1664KB
./brrr.gz 32388KB
试试这个:

find/location/of/directory/-type f-size+2G-exec du-s{}+| sort-n


-exec
对每个搜索结果执行命令
du-s
,并
sort-n
对结果进行数字排序。

使用
find
中的
printf
很好的解决方案。不知道苹果什么时候会把它添加到OSX上(BSD)find:)谢谢@RBH!它运行良好,是我原来帖子的一个解决方案,但另一个答案带来了更多的灵活性,最终对我更有用。