-1

Например, текст ниже, в Linux, как получить раздел ниже из "будет установлен" к тексту перед "Предлагаемые пакеты".

Use 'apt-get autoremove' to remove it.
The following extra packages will be installed:
   python3-decorator python3-simplegeneric
Suggested packages:
  ipython3-notebook ipython3-qtconsole python3-zmq
The following NEW packages will be installed:
  ipython3 python3-decorator python3-simple-generic
0 upgraded, 3 newly installed, 0 to remove and 13 not upgraded.

В результате получается просто «ipython3-notebook ipython3-qtconsole python3-zmq», БЕЗ начального и конечного паттернов.

1 ответ1

0

Использование GNU sed вместо grep:

$ gsed -n '/The following extra packages will be installed:/{:a;n;/Suggested packages:/q;p;ba}' text

Когда строка, содержащая текст The following extra packages will be installed , сценарий редактирования sed создаст метку с именем a (для возврата к последующему), а затем прочитает следующую строку (n). Если в этой строке содержится текст « Suggested packages: сценарий прекратит работу (q), в противном случае он напечатает строку (p) и ответвится к ранее созданной метке (ba), которая читает следующую строку и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .