извлечение доменных имен (имен хостов) из текстового файла

Я хотел извлечь доменное имя (имя хоста) с временем ожидания подключения с 5-секундным временем задержки.

входной файл

  • Собирайте выход awk в скрипте bash для обработки
  • Как заменить пробелы в именах файлов с помощью подчеркивания
  • Как я могу перенаправить соответствующие строки в файл, а не совпадающие строки с другим файлом?
  • wget-файл, протоколирование вывода и отображение вывода в командной строке
  • Проверка отметки времени Unix с использованием BASH
  • Как удалить файлы из папки с более чем 60 файлами в unix?
  • Mar 19 21:44:00 ip-172-2-0-53 sendmail[30686]: v2K4g0Dm030684: to=<rdunia@jehdns.com>, delay=00:02:12, xdelay=00:02:00, mailer=esmtp, pri=120847, relay=webmail.jehdns.com. [192.168.1.1], dsn=4.0.0, stat=Deferred: Connection timed out with webmail.jehdns.com. Mar 19 20:35:00 ip-172-2-0-54 sendmail[30683]: v2K4g0Dm030684: to=<esds@karna.com>, delay=00:02:00, xdelay=00:02:00, mailer=esmtp, pri=120847, relay=webmail.jehdns.com. [192.168.1.1], dsn=4.0.0, stat=Deferred: Connection timed out with webmail.karna.com. Mar 21 23:15:20 ip-172-2-0-53 sendmail[7742]: v2M6FKZm007741: to=<root@prod-radion.ifad.internal>, ctladdr=<root@prod-radion.ifad.internal> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31116, dsn=2.0.0, stat=Sent 

    Ожидаемый результат:

     Mar 19 21 delay=00:02:12 - webmail.jehdns.com. Mar 20 13 delay=00:02:00 - webmail.karna.com. 

  • Что такое оболочка по умолчанию для .sh в AIX?
  • Удаление строк с одним общим полем
  • Получить нагрузку на процессор ядра в сценарии оболочки
  • Работа с столбцами - awk и sed
  • Как проверить, была ли переменная передана функции в Bash?
  • что означает $ * в shell
  • 2 Solutions collect form web for “извлечение доменных имен (имен хостов) из текстового файла”

     sed -n '/timed out/{s/^\([^:]*\):.*xdelay=\([^,]*\),.*with \(.*\)$/\1 delay=\2 - \3/;p;}' 
     perl -F: -lane ' ($i) = grep { $F[$_] =~ /delay=/ } 0 .. $#F; $d = join ":", join($\, @F[$i..$i+2]) =~ /\hdelay=\K\d+|\n\K\d+/g; print "$d:$F[0]", " delay=$d", " - ", /\S+$/g if $F[-1] =~ /timed out/; ' input_file | sort -t: -nr -k1,1 -k2,2 -k3,3 | cut -d: -f4- 

    Вывод

     Mar 19 21 delay=00:02:12 - webmail.jehdns.com. Mar 19 20 delay=00:02:00 - webmail.karna.com. 
    Linux и Unix - лучшая ОС в мире.