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

如何让sed处理文件名而非文件内容?实现文件名字符串替换

解决方案

要让sed处理文件名而非文件内容,核心是把文件名作为sed的输入文本,而非让sed去读取文件内容。以下是几种可行命令:

方法1:结合basename提取纯文件名后替换

find . -type f -print0 | xargs -0 basename | sed 's/file//g'
  • basename会去除文件名的路径前缀(将./filename.txt转为filename.txt)
  • 后续sed将字符串中的file替换为空,最终输出name.txt

方法2:用find内置格式化输出直接获取纯文件名

find . -type f -printf "%f\n" | sed 's/file//g'
  • find的%f格式化选项会直接输出不带路径的文件名
  • 再通过sed完成替换操作,得到目标结果

如果需要保留路径(比如输出./name.txt),可以去掉basename改用以下命令:

find . -type f -print0 | xargs -0 echo | sed 's/file//g'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 22:24:27