У меня есть текстовый файл с большим количеством информации. Мне интересно получать только псевдонимы. Все псевдонимы и информация о портах разделяются пробелом, каждый порт разделяется точкой с запятой.grep строка и строка после одной строки
Эта команда ..
cat ~/Desktop/brocade_output.txt |grep -A1 alias
дает мне этот выход. Все псевдонимы начинаются с префикса a_.
> alias: a_computer_1
40:01:00:00:ab:00:00:aj; 60:01:00:0e:1e:d0:b5:fd
--
alias: a_helpdesk
41:00:00:24:fh:5c:99:9e; 81:00:00:24:ff:5c:48:9f
--
alias: a_library
91:00:00:24:fh:5c:99:9g; 91:00:00:24:ff:5c:48:9g
--
Желаемая выход
a_computer_1 40:01:00:00:ab:00:00:aj 60:01:00:0e:1e:d0:b5:fd
a_helpdesk 41:00:00:24:fh:5c:99:9e 81:00:00:24:ff:5c:48:9f
a_library 91:00:00:24:fh:5c:99:9g 91:00:00:24:ff:5c:48:9g
Это в основном то, что в разделе «Output». Просто гораздо больший файл. – nyitguy
Звучит как работа для 'sed' или' awk'. –
Если вы печатаете контекстные строки, grep всегда будет вводить разделитель при печати контекстных строк. Хотя вы можете подавить разделитель, grep не переформатирует контент. Я согласен с Безумным Физиком. Это лучше сделать с помощью sed, awk или даже perl. – JamieSee