используйте sed для вставки строки после сопоставления блока текста

Я пытаюсь использовать sed для вставки строки после [Блока B] в следующий файл:

[Block A]  
line 1  
line 2  

[Block B]  
line 1  
line 2  

[Block C]  
line 1  
line 2  

команда, которую я использовал:

sed '/\[Block B\]/,/^$/a\inserted line' file

Правильный/желаемый результат должен быть:

[Block B]  
line 1  
line 2  
inserted line  

Однако вместо этого я получил это:

[Block B]  
inserted line  
line 1  
inserted line  
line 2  
inserted line  

Пожалуйста, скажите мне, как я могу получить желаемый результат, используя sed. Спасибо!

5
задан Paused until further notice. 25 June 2012 в 04:28
поделиться