用sed替换掉特定字符串后的指定内容

工作中遇到了这么一个需求:有一段没有格式的 JSON 字符串,需要把其中的 key 为 name 的值改成 new-webhook-config,用 sed 可以完成这个工作。

原始内容

1
{"apiVersion":"admissionregistration.k8s.io/v1beta1","kind":"MutatingWebhookConfiguration","metadata":{"annotations":{},"name":"webhook-config"}}

sed 命令

1
sed -ri 's/(\"name\":\")[^"]*/\1new-webhook-config/g' 1.txt

重点是其中的 \1,这里表示第一个子串(捕获组),如果没有这个 \1,那么就会全部替换掉。

可以参考这里:https://www.cnblogs.com/maxincai/p/5146338.html

Notice: 正常情况下,这里会有一个基于utteranc.es的留言系统,如果看不到,可能要想想办法才能看到。

Powered by Hexo and Hexo-theme-hiker

Copyright © 2012 - 2026 tiaobug.com All Rights Reserved.

鲁ICP备2024124237号-1