我正在尝试替换 YAML 文件的以下部分:
ssl:
enabled: false
Run Code Online (Sandbox Code Playgroud)
阅读
ssl:
enabled: true
Run Code Online (Sandbox Code Playgroud)
我试过这个,失败了: sed -i s/ssl:\n enabled: false/ssl:\n enabled: true/g
您可以使用sed范围:
sed '/^ *ssl:/,/^ *[^:]*:/s/enabled: false/enabled: true/' file
Run Code Online (Sandbox Code Playgroud)
范围边界是/^ *ssl:/(ssl 部分的开始)和/^ *[^:]*:/(任何其他部分)。
的s是通常的替代命令。