Shell-Script

將文件的所有行插入到兩個模式之間的另一個文件中

  • August 24, 2022

文件1內容:

1111
2222
3333
4444

文件2內容:

[webservers]
[databases]

我希望 file2 的內容看起來像:添加所有行後,插入新行。

[webservers]
1111
2222
3333
4444

[databases]

使用read 命令sed在模式後追加文件,使用substitute 命令插入換行符:

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

請注意,您需要使用如上所示的反斜杠轉義換行符,以將其包含在替換模式中(&代表整個匹配項,因此匹配項被自身替換,前面有一個換行符)。

[需要轉義來抑制其特殊含義。

引用自:https://unix.stackexchange.com/questions/714646