Большой поклонник телефона с камерой за последние несколько лет для документирования световых сигналов консолей/ошибки на переключателях/серверах. Мой новый любимый инструмент для переноса в моем рюкзаке является ЗЕРКАЛЬНО ОТРАЖЕННОЙ камерой. Я нахожу это очень полезным для документирования проводных стоек/лотков или шкафов удаленного техобслуживания, из которых у меня должно быть 'представление' с моего стола в то время как по телефону с технологией. Плюс, замечательно к документу, когда кто-то в офисе сходит с ума.
Сначала используйте флаг '-n' для подавить автоматический вывод. Затем используйте sed адреса , чтобы процитировать интересующую вас часть (от тире «---» до строки со словом «Disconnected»). Наконец, распечатайте пространство шаблонов (все пространство шаблонов, поскольку вас интересует все, что внутри него).
~$ sed -n '/^---*/,/Disconnected/{p}' inputfile
Отредактировано из-за запроса LF4 об удалении строки с дефисами из результата.
В «адресах» вы указываете отдельные пространства шаблонов. Таким образом, вы можете делать все, что захотите, с этими отдельными пространствами шаблонов. В том числе удалить строки по регулярному выражению. В этом примере команда удаляет линии, образованные дефисами, из пространства шаблона, что дает результат, который вы
sed
может искать шаблон в нескольких строках, объединяя их в которые называется «удерживаемым пространством», примерно так:
$ sed -n '1h;1!H;${;g;s/.*\(-\{80\}.*Disconnected\).*/\1/p;}' file
1h
: скопировать первую строку для удержания пробела 1! H
: со второй строки добавить, чтобы удерживать пробел $
: последняя строка g
: скопировать удерживаемое пространство в буфер шаблона s / pattern / substitution /
: поиск и замена \ 1
: обратная ссылка на группу в шаблоне p
: print Самый простой, но не очень эффективный способ -
Используйте tr, чтобы удалить все символы новой строки.
tr '\ n' ''
Повторно добавить новые строки после Disconnected
с помощью команды sed \ a
.
sed
.