sed теги абзацев

список для vms:

virsh list

получить MAC vm из имени

virsh domiflist debian8

выполнить сканирование подсети vm с помощью grep (MAC должен быть заглавным)

nmap -sP 10.0.0.0/24 | grep 52:54:00:FD:1F:92 -B 3 

результат

Nmap scan report for 10.0.0.173
Host is up (0.0012s latency).
MAC Address: 52:54:00:FD:1F:92 (QEMU Virtual NIC)
1
10.05.2017, 15:16
2 ответа

Поскольку вы изначально просили sedрешение, я добавляю одно:

sed '/./{H;1h;$! d}
g;/{p}$/d
s#^{p}.*#&\n{/p}#;p
s/.*/{p}/;h;d' somefile.txt

Пояснение

  • строка 1 :Добавить не -пустые строки в буфер хранения (1-я строка скопирована вместо добавления во избежание начала с новой строки ). Продолжайте для пустых строк или конца файла.
  • строка 2 :Игнорировать буферы без текста для обработки нескольких пустых строк или пустых строк в конце буфера
  • строка 3 :Если есть открывающий тег, добавьте закрывающий тег. Затем распечатайте.
  • строка 4 :Заполнить буфер хранения новым открывающим тегом.
0
28.01.2020, 00:55

Я бы предложил awk подход:

awk 'NR>1 && NF{$0="{p}" RS $0 RS "{/p}"}1' file

Вывод:

Section 5. General Information About Project Gutenberg-tm electronic works.

{p}
Description
{/p}

{p}
Professor Michael S. Hart is the originator of the Project Gutenberg-tm concept of a library of electronic works that could be freely shared with anyone. For thirty years, he produced and distributed Project Gutenberg-tm eBooks with only a loose network of volunteer support.
{/p}

{p}
Project Gutenberg-tm eBooks are often created from several printed editions, all of which are confirmed as Public Domain in the U.S. unless a copyright notice is included. Thus, we do not necessarily keep eBooks in compliance with any particular paper edition.
{/p}

RS - разделитель записей awk, по умолчанию новая строка \n

NR>1 - пропускает первую строку header

NF - указывает на общее количество полей строки (с учетом непустых строк)

0
28.01.2020, 00:55

Теги

Похожие вопросы