nmap «отфильтровал» результаты на довольно голом сервере - может ли «отфильтрованный» просто означать «тишина»?

С grep:

grep -P '^(?=[\s]*+[^#])[^#]*(gmail|outlook)' file
  • -P активирует регулярные выражения, совместимые с Perl.
  • ^(?=...) определяет группу захвата, которая не является частью шаблона (lookahead; расширение Perl). ^ означает начало строки.
    • Внутри этой группы \s соответствует любому символу пробела, *+ соответствует пробелу 0 или более раз и является жадным (расширение Perl).
    • [^#] соответствует любому символу, который не является #.
  • [^#]* вне группы захвата мы снова сопоставляем любой символ, который не является # 0 или более раз
  • (gmail|outlook) наконец, сопоставляем gmail или outlook

Я сделал тестовый файл с различными примерами:

$ cat file
# outlook
blah gmail # this should match
# gmail
  # gmail
        # foo
blah outlook # this should match
  outlook blah # gmail - this should match
foobar # gmail
        bar
        another gmail # this should match

Вывод:

blah gmail # this should match
blah outlook # this should match
  outlook blah # gmail - this should match
        another gmail # this should match

Конечно, вы можете запустить это на всех ваших *. ksh файлах:

grep -P '^(?=[\s]*+[^#])[^#]*(gmail|outlook)' *.ksh  > a.log
0
26.08.2018, 00:41
0 ответов

Теги

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