小编sir*_*raj的帖子

替换“key: value”语句中的值,但仅在文件中第一次出现该键时

我有一个 yml 文件

spring:
  datasource:
    url: url
    username:test
    password: testpwd
api:
  security:
    username:foo
    password: foopwd

Run Code Online (Sandbox Code Playgroud)

我只想在 Linux 机器上使用命令行更新第一次出现或用户名和密码,使其看起来像这样:

spring:
  datasource:
    url: url
    username:toto
    password: totopsw
api:
  security:
    username:foo
    password: foopwd

Run Code Online (Sandbox Code Playgroud)

当我尝试:

sed -i -e 's!^\(\s*username:\)[^"]*!\1toto!' test.yml
Run Code Online (Sandbox Code Playgroud)

他更改了所有用户名

sed text-processing yaml

5
推荐指数
2
解决办法
885
查看次数

标签 统计

sed ×1

text-processing ×1

yaml ×1