find -printf:按自定义格式输出大小、日期和路径
用 GNU find 的 -printf 直接按任意格式打印路径、大小和时间戳,方便排序和脚本处理。
执行 find . -type f -printf '%s %p\n'(日期用 %T 指令)即可只输出需要的字段。
01命令
命令
$ find . -type f -printf '%TY-%Tm-%Td %10s %p\n' | sort -r02作用说明
-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依据: GNU find -printf directive table including %s, %p, %T* time format directives
- find(1) — Linux manual page依据: -printf format: documents %s size, %p filename, %T@/%TY mtime directives and the whole -printf formatting language
最后验证: 2026-09-17 · 分类: 文件与文件夹