匹配后立即追加 Sed

Posted

技术标签:

【中文标题】匹配后立即追加 Sed【英文标题】:Sed Appending Right After Match 【发布时间】:2022-01-17 14:12:58 【问题描述】:

在 ['trusted_domains' => 字符串] 之后添加字符串。

sed 's/'trusted_domains' =>//g' file.txt 

是否搜索但如何在匹配后立即追加??

【问题讨论】:

欢迎来到 SO,感谢您分享您的努力,请在您的问题中提及您的输入示例和预期输出,以便更清楚,谢谢。 你试过阅读manual吗? @RavinderSingh13 我希望输出为:'trusted_domains' => '192.168.xx.xx/24'。 【参考方案1】:

试试下面,用 sed 它将用替换值替换匹配。

sed -r "s/'trusted_domains' =>/'trusted_domains' => www.google.com/g"

命令行示例:

echo "some random text ['trusted_domains' =>] again some random text after" | sed -r "s/'trusted_domains' =>/'trusted_domains' => www.google.com/g"

输出:

一些随机文本 ['trusted_domains' => www.google.com] 又是一些 之后的随机文字


文件样本: (输入文件:test_file.txt)

some random text ['trusted_domains' =>] again some random text after

命令:

sed "s/'trusted_domains' =>/'trusted_domains' => www.google.com/g" test_file.txt

输出:

一些随机文本 ['trusted_domains' => www.google.com] 又是一些 之后的随机文字

【讨论】:

以上是关于匹配后立即追加 Sed的主要内容,如果未能解决你的问题,请参考以下文章

sed 追加文件内容

Sed在匹配行前后加入一行

sed编辑命令

利用sed命令行进行增删改查

sed

Sed 实记 · laoless‘s Blog