如何按大小排序“查找”结果bash

时间:2014-11-28 13:23:39

标签: bash shell sorting find pipe

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

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

2 个答案:

答案 0 :(得分:4)

例如,您可以使用%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

答案 1 :(得分:2)

试试这个:

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

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