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

如何在Unix系统中替换文件中指定字符串后的文本?

一行搞定sed匹配替换:精准替换指定字符串右侧的文本

嘿,你之前的操作太绕啦!完全不需要先grep提取行再cut截取内容,用sed就能直接完成精准替换,一步到位。

针对你的需求:把输入中option:"右侧的文本替换成新内容,我们可以利用sed的正则捕获功能来实现,具体命令如下:

基础版本(兼容所有sed环境)

sed 's/\(option:"\)[^"]*"/\1Replaced Text"/' inputfile.txt > outputfile.txt

更简洁的扩展正则版本(推荐)

如果你的sed支持-E选项(GNU sed、BSD sed都支持),可以用扩展正则去掉转义符,可读性更好:

sed -E 's/(option:")[^"]*"/\1Replaced Text"/' inputfile.txt > outputfile.txt

命令拆解说明

  • (option:"):用括号捕获option:"这个固定前缀,后面用\1来引用这个捕获的内容(保证前缀原封不动保留)
  • [^"]*":匹配option:"之后到下一个双引号之间的所有内容([^"]*表示任意非双引号的字符,零个或多个,精准定位要替换的文本范围)
  • \1Replaced Text":把捕获的前缀和你想要的新文本拼接起来,完成替换

动态替换(用变量存新文本)

要是你想把新文本存在变量中动态替换,记得用双引号包裹sed命令(让shell解析变量):

new_content="Replaced Text"
sed -E "s/(option:")[^"]*"/\1$new_content"/ inputfile.txt > outputfile.txt

这个方法比你原来的流程高效太多:不需要生成临时文件,一次扫描就能处理文件中所有包含option:的行,不管有多少匹配行都能搞定~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:19:10