按降序对大于 1000 字节的文件进行排序

按降序对大于 1000 字节的文件进行排序

我可以按降序(任意大小)对文件进行排序,也可以列出所有大于 1000 字节的文件,但不知道如何对用户指定目录中大于 1000 字节的文件进行排序。

列出大于 1000 字节的文件:

for i in "$1/*" # $1 expects a directory name
do
    if [ `wc -c $i` -gt 1000 ]
        echo $i
done

按大小降序列出文件:

`ls -lhS`

但是如何按大小降序列出所有大于 1000 字节的文件呢?

答案1

尝试这个

find . -maxdepth 1 -size +1000c -type f -exec ls -lhSa '{}' +

解释

-maxdepth 1- 仅在当前目录中查找文件

-size +1000c- 仅查找大于 1000 字节的文件(“ c” = 字节)

-type f- 只查找文件

-exec <command> {} +- 执行命令。请参阅man find了解更多信息

如果您不想使用 find(我不知道为什么),你可以输入(thx@αГsнιη):

ls -lpSa | awk '! /\// && $5>1000'

为什么不是解析ls

相关内容