パターンの後にファイルに行を追加する方法を見つける必要がありますが、パターンのある行を編集したくありません。
たとえば、私の元のファイルは次のようになります。
group: misc
host: server1
job: internal
私はそれを次のように変更したいと思います。
group: misc
host: server1
role: webserver
job: internal
難しいのは、「host:」と一致させる必要がありますが、ホストの後ろの名前が毎回異なることです。残りの行を尊重し、代わりに "host:"が見つかるとすぐに、新しい行をダンプして、新しい行の後にホスト名を孤児として残すためにsedを取得する方法が見つかりませんでした。
ベストアンサー1
a
一致後のテキストの追加:
sed '/^host: /a\
role: webserver
' sample
または、i
一致の前に行を挿入します。
sed '/^job: /i\
role: webserver
' sample