find -printf:按自定义格式输出大小、日期和路径

用 GNU find 的 -printf 直接按任意格式打印路径、大小和时间戳,方便排序和脚本处理。

Linux脚本格式化find 文件查找低风险
执行 find . -type f -printf '%s %p\n'(日期用 %T 指令)即可只输出需要的字段。

01命令

命令
$ find . -type f -printf '%TY-%Tm-%Td %10s %p\n' | sort -r

02作用说明

-printf 是 GNU find 最容易被忽视的利器:不必再经过 ls 或 stat 管道,直接选取字段——%s 字节数、%p 路径、%TY-%Tm-%Td 格式化的修改时间、%u/%g 属主、%m 八进制权限。每个文件输出一条字段清晰、易于排序和 cut 解析的记录,因此像“找出最大的 10 个文件”这类一行命令不需要为每个文件额外起进程。

03风险

风险低风险
!注意: -printf 是 GNU 扩展,BSD/macOS 的 find 没有;注意 %s 输出的是字节数,不是人类可读格式。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • find(1) — Arch Linux manual
    Arch Linux · technical · 2026-09-17
    依据: GNU find -printf directive table including %s, %p, %T* time format directives
  • find(1) — Linux manual page
    man7.org · technical · 2026-09-17
    依据: -printf format: documents %s size, %p filename, %T@/%TY mtime directives and the whole -printf formatting language

最后验证: 2026-09-17 · 分类: 文件与文件夹

06相关方案