sedを使用して複数行を置き換える

sedを使用して複数行を置き換える

YAMLファイルの次のセクションを置き換えようとしています。

  ssl:
    enabled: false

読む

  ssl:
    enabled: true

私はこれを試しましたが失敗しました。sed -i s/ssl:\n enabled: false/ssl:\n enabled: true/g

ベストアンサー1

範囲を使用できますsed

sed '/^ *ssl:/,/^ *[^:]*:/s/enabled: false/enabled: true/' file

範囲の境界は/^ *ssl:/(ssl セクションの先頭) と/^ *[^:]*:/(その他のセクション) です。

これはs一般的な置換コマンドです。

おすすめ記事