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

如何用sed将文件中所有tmp_[任意位数数字]替换为tmp__数字_?

Sed 替换tmp_[数字]格式字符串为tmp__数字_

要实现将文件中所有匹配tmp_[N](N为任意位数数字)的字符串替换为tmp__N_,可以使用带扩展正则的sed命令:

sed -E 's/tmp_\[([0-9]+)\]/tmp__\1_/g' 你的目标文件名

命令细节说明:

  • -E:启用扩展正则表达式语法,简化分组捕获的写法(无需对括号转义)
  • s/原模式/替换模式/g:全局替换指令,g标记确保一行内所有匹配项都会被替换
  • 匹配模式tmp_\[([0-9]+)\]:
    • tmp_\[:匹配字面量tmp_[([是正则特殊字符,必须用\转义)
    • ([0-9]+):捕获1个或多个连续数字,后续用\1引用这段捕获的内容
    • \]:匹配字面量](同样需要转义处理)
  • 替换模式tmp__\1_:
    • 固定前缀tmp__ + 捕获到的数字(\1) + 固定后缀_

示例效果:

输入内容:

hello tmp_[123] world tmp_[45] test_line

执行命令后输出:

hello tmp__123_ world tmp__45_ test_line

如果需要直接修改原文件(原地替换),根据sed版本添加参数:

  • GNU sed(Linux系统):
    sed -i -E 's/tmp_\[([0-9]+)\]/tmp__\1_/g' 你的目标文件名
    
  • BSD sed(macOS系统):
    sed -i '' -E 's/tmp_\[([0-9]+)\]/tmp__\1_/g' 你的目标文件名
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 16:31:04