You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何递归查找目录中>100M的非.gz文件并排序输出

问题分析与解决

你的命令问题出在第二个find命令上:第一个find筛选出符合条件的文件路径后,管道传给第二个find,但find默认不会读取标准输入的路径来处理,而是重新从当前目录开始全局搜索,相当于完全忽略了前面的筛选条件,所以才会再次出现.gz文件。

正确命令写法

直接让第一个find完成筛选+格式化输出,再排序取最大的几个:

find . -type f -size +100M ! -name "*.gz" -printf '%s %p\n' | sort -nr | head

如果要把结果保存到文本文件,加个重定向即可:

find . -type f -size +100M ! -name "*.gz" -printf '%s %p\n' | sort -nr | head > large_files.txt

命令解释

  • -printf '%s %p\n':让find直接输出文件大小(字节数)和完整路径,一步到位
  • sort -nr:按数字逆序排序(最大的文件排在前面)
  • head:默认取前10个最大的文件,你可以加-n N指定取前N个,比如head -n 5

内容的提问来源于stack exchange,提问作者curious

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 23:27:28