2つのパターンの間にあるファイルのすべての行を別のファイルに挿入する

2つのパターンの間にあるファイルのすべての行を別のファイルに挿入する

ファイル1の内容:

1111
2222
3333
4444

ファイル2の内容:

[webservers]
[databases]

file2の内容を次のように作成したいと思います。すべての行を追加したら、新しい行を挿入します。

[webservers]
1111
2222
3333
4444

[databases]

ベストアンサー1

パターンの後にファイルを追加するにはreadコマンドを使用し、改行を挿入するには代替コマンドを使用します。seds

sed -e '/\[webservers]/r file1' -e 's/\[databases]/\           
   &/' file2

上記のように、改行文字を代替パターンに含めるには、バックスラッシュを使用してエスケープする必要があります(一致全体を表す&ため、一致は改行文字の前にそれ自体で置き換えられます)。

[特別な意味を抑制するにはエスケープが必要です。

おすすめ記事