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

如何在find命令输出中去除开头的./前缀?

如何直接用find命令去除输出路径的./前缀?

执行find . -type f命令时,输出结果会自带./前缀:

./Makefile
./main.py
./pkg/__init__.py

(注:你提供的原始输出里的./pkg是目录,和-type f的文件搜索条件矛盾,推测是笔误,以下解答基于文件搜索的正常场景)

如果不想借助sed这类外部工具处理输出,直接用find本身就能实现需求,核心是利用它的-printf选项自定义输出格式:

解决方案:使用find的-printf参数

执行以下命令即可:

find . -type f -printf "%P\n"

其中%P是find的格式占位符,作用是输出去除搜索起始路径(这里是当前目录.)后的相对路径,完全符合你的预期,最终输出如下:

Makefile
main.py
pkg/__init__.py

补充说明

这个方法适用于GNU find(绝大多数Linux发行版默认使用的版本);如果是BSD find(比如macOS系统自带的版本),由于它不支持%P占位符,这种情况下可能还是需要配合sed等工具,但如果限定只用find自身,暂时没有更直接的替代方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 05:27:10