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

使用Sed工具查找替换子串并在原字符串前插入修改后字符串

文本批量处理需求与解决方案

原始文件内容

lebnassvm0a-dr      test1      /vol/test1
lebnassvm0a-dr      test2      /test2
lebnassvm0a-dr      test3      /test3
stgtestsvm1-dr      test21      /test21
stgtestsvm1-dr      test22      /test22
stgtestsvm1-dr      test23      /test23

需求

将每行第一个字段中的-dr替换为-drt,并将替换后的字段插入到原行的最前方。

预期结果

lebnassvm0a-drt lebnassvm0a-dr      test1      /vol/test1
lebnassvm0a-drt lebnassvm0a-dr      test2      /test2
lebnassvm0a-drt lebnassvm0a-dr      test3      /test3
stgtestsvm1-drt stgtestsvm1-dr      test21      /test21
stgtestsvm1-drt stgtestsvm1-dr      test22      /test22
stgtestsvm1-drt stgtestsvm1-dr      test23      /test23

解决方案

使用sed命令可快速完成批量替换:

sed 's/\([^ ]*-dr\)/\1t \1/' input.txt > output.txt

命令说明

  • \([^ ]*-dr\):捕获每行第一个字段(以空格为分隔)里包含-dr的内容
  • \1t \1:把捕获的内容后追加t,再拼接原捕获内容,替换原匹配部分,实现新增字段+原字段的效果

若要直接修改原文件,可添加-i参数(BSD系统需写成-i ''):

sed -i 's/\([^ ]*-dr\)/\1t \1/' input.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:27:09