繁体   English   中英

SED:在同一行的两个模式之间插入一个单词/字符串

[英]SED: insert a word/string between two patterns in the SAME LINE

我已经搜索了整个 stackoverflow(也许我只是在搜索方面很烂),但我找不到我的问题的答案。 我正在尝试使用 sed 在同一行的两个模式之间插入一个单词或一个字符串。

我知道如何在搜索模式之后使用

sed -e "s/pattern/& new_word/g"

带有与号 (&)。

但是这个命令在每次出现的搜索模式中插入“new_word”,所以我试图指定它,以便它只在两个模式之间插入“new_word”。

例如,

Some words  = [want to insert words here];

如何在“一些单词(这里有多个空格)=”和“;”之间插入它?

这种命令的语法是什么? 另外,你们用什么资源来学习sed? 我搜索过的许多 sed 教程都是非常基础的,并没有 go 详细介绍不同选项和标志的用法。

谢谢你。

使用捕获组。

sed -e 's/(pattern1)(pattern2)/\1new_word\2/'

\1被替换为与第一个模式匹配的任何内容, \2被替换为与第二个模式匹配的任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM