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

使用sed -ie命令修改文件时为何生成带e后缀的额外文件?

解决sed命令生成带e后缀备份文件的问题

问题出在你写的sed -ie这个参数组合上:

  • sed的-i选项是原地编辑文件,它后面可以跟一个可选的备份后缀名(比如-i.bak会生成带.bak的备份文件)。
  • 当你把-i和-e连写成-ie时,sed会错误地把e当成-i的备份后缀参数,而不是把e识别为-e(指定表达式的参数)。这就导致它在完成替换后,自动生成了一个原文件名加e的备份文件。

正确的写法有两种:

  1. 不需要备份文件:把-i和-e分开写,明确区分两个参数:

    sed -i -e 's/^{OLD}/{NEW}/' {File}
    

    (GNU sed下,单独用-i不带后缀就不会生成备份;如果是BSD sed,可能需要写成sed -i '' -e 's/^{OLD}/{NEW}/' {File},注意-i后面的空引号)

  2. 需要备份文件:明确指定备份后缀,比如用.bak:

    sed -i.bak -e 's/^{OLD}/{NEW}/' {File}
    

    这样会生成带.bak后缀的备份文件,而不是莫名其妙的e后缀。

本质上就是参数格式的问题,-i和-e不能连写,必须分开来让sed正确识别各自的作用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:52:34