tcl или sed или shell search заменяют несколько строк - PullRequest
0 голосов
/ 06 июня 2018

У меня есть файл, который содержит раздел, который я хочу удалить:

 mu->doe = '( tr <br>
     tekt  ( tr uapp "(Finction rood (\;)<br>
     ord  ( a b c)<br>

  )<br>

  mu->Koe = '( tr<br>
     tekt  ( tr uapp "(Finction rood (\;)..<br>
     ord  ( a b c)<br>

  )<br>

  mu->Yoe = '( tr <br>
     tekt  ( tr uapp "(Finction rood (\;)<br>
     ord  ( a b c)<br>

  )<br>

Мне нужно удалить раздел mu-> Koe, в результате текст в файле должен быть:

  mu->doe = '( tr <br>
     tekt  ( tr uapp "(Finction rood (\;)<br>
     ord  ( a b c)<br>

  )<br>

   mu->Yoe = '( tr <br>
     tekt  ( tr uapp "(Finction rood (\;)<br>
     ord  ( a b c)<br>

  )<br>

Я использовал sed:

sed -e '/mica/,+5d'

, но число строк может варьироваться и не будет хорошим решением. Может быть полезен либо sed, tcl, либо любой другой скрипт.

1 Ответ

0 голосов
/ 07 июня 2018

Возможно:

sed '/mu->Koe/,/^)$/d' file

Это удалит из строки Koe до следующей строки, содержащей только правую скобку.Возможно, вам потребуется настроить второй шаблон для учета пробелов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...