Shell find 查找命令行的使用方法
find . -name "*.svg" -exec printf '"%s ,名称为:%s"\n' {} {} \;
| 参数(GNU find 专用) | 含义示例 | 说明 | 
|---|
| %p | ./dir/aaa.svg | 从搜索起点开始的完整相对路径 | 
| %f | aaa.svg | 纯文件名(去掉目录部分) | 
| %P | dir/aaa.svg | 完整相对路径,但去掉了搜索起点本身(即去掉“./”) | 
| %h | ./dir | 文件所在目录的相对路径(不含文件名) | 
| %d | 1 | 文件相对搜索起点的深度(0 表示搜索起点) | 
| %s | 1234 | 文件大小(单位:字节) | 
| %TY-%Tm-%Td | 2025-08-18 | 文件的最后修改日期,可自定义格式 | 
所以你可以这样组合:
- 只保留文件名: -    find . -name "*.svg" -printf '"%f ,名称为:%f"\n'
 
- 保留完整相对路径: -    find . -name "*.svg" -printf '"%p ,名称为:%f"\n'
 
- 去掉开头的“./”: -    find . -name "*.svg" -printf '"%P ,名称为:%f"\n'
 
- 再加个大小: -    find . -name "*.svg" -printf '"%f ,名称为:%f ,大小:%s字节"\n'
 
如果你的 find 不是 GNU 版本(比如 macOS 自带的 BSD find),-printf 可能不可用,那就回到最前面提供的 -exec printf 写法,它最通用。