Замена символов в возвращаемом выводе bash - PullRequest
0 голосов
/ 06 января 2020

я пытаюсь запустить эту команду для извлечения эксплойта MS- * из каталога эксплойта metasploit

locate -r "\.rb$" | xargs grep "MSB" | grep metasploit | grep exploit | grep smb | awk '{print $3,$4}'

я получил такой результат:

grep: / usr / share / doc / ruby -http-parser.rb: каталог

'MS17-010'],

'MSB', 'MS03-049'

' MSB ',' MS04-007 '],

' MSB ',' MS04-011 '

' MSB ',' MS04-031 '],

' MSB ',' MS05-039 '

' MSB ',' MS06-025 '

' MSB ',' MS06-025 '

' MSB ',' MS06- 040 '

' MSB ',' MS06-066 '],

' MSB ',' MS06-066 '],

' MSB ',' MS06-070 '

' MS07-029 ']

MS08-067),

' MSB ',' MS09-050 '

как я могу удалить это ('MSB', ') и (']) из каждой строки

мне нужен вывод, подобный этому:

MS09-050

MS08- 067

MS06-070

..

..

..

, а также мне нужно удалить первая строка (grep: /usr/share/doc/ruby-http-parser.rb: прямой ory)

1 Ответ

0 голосов
/ 06 января 2020
locate -r "\.rb$" | xargs grep -s "MSB" | grep metasploit | grep exploit | grep smb | awk '{print $3,$4}'|sed "s/[,')]//g" |sed "s/MSB //g"|sed "s/]//g"

Объяснение:

  • sed "s/[,')]//g" - удаляет , ' и ) из каждой строки.

  • sed "s/MSB //g"|sed "s/]//g" - удаляет MSB из каждой строки.

  • sed "s/]//g" - удаляет ]

  • xargs grep -s "MSB" - опция -s в grep будет подавлять сообщения об ошибках для этого выхода.

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