напечатать дату строки mail.log

У меня есть строка mail.log и с помощью sed и pipe я могу извлечь тему, отправителя и получателя почты,

echo "Jul 15 09:04:38 mail postfix/cleanup[36034]: 4A4E5600A5DE0: info: header Subject: The tittle of the message from localhost[127.0.0.1]; from=<sender01@mydomain> to=<recipient01@mydomain> proto=ESMTP helo=<mail.mydomain>" | sed -e 's/^.*Subject: //' -e 's/\]//' -e 's/from localhost//' -e 's/^.\];//' |sed -e 's/\[127.0.0.1; //' -e 's/proto=ESMTP helo=<mail.mydomain>//' 

У меня есть выход

 The tittle of the message from=<sender01@mydomain> to=<recipient01@mydomain> 

мой желаемый результат

 Jul 15 09:04:38 The tittle of the message from=<sender01@mydomain> to=<recipient01@mydomain> 

Как извлечь дату и добавить ее к выходу?

One Solution collect form web for “напечатать дату строки mail.log”

Ужасно, но положил это в начале инструкции sed :

  -e 's/^\([[:alpha:]]+ [[:digit:]]+ [[:digit:]]+:[[:digit:]]+:[[:digit:]]+\).*Subject:\(.*\)/\1\2/' 

Или, если вы всегда знаете, что «почтовый постфикс» будет в тексте в этой позиции, вы можете просто использовать:

  -e 's/^\(.*\) mail postfix.*Subject:\(.*\)/\1\2/' 

И другие варианты возможны. Ключ состоит в том, чтобы зафиксировать дату, пропустить части, которые вам не нужны, и снова захватить оставшуюся часть, которую вам все еще нужно обработать. Чтобы захватить объемный звук с помощью \( и \) и напечатать то, что вы захватили, используйте \n где n – позиция конкретного захвата (сначала 1, вторая – 2 и т. Д.).

И теперь, когда вы это знаете, вы, вероятно, можете выяснить, как устранить все отдельные директивы (-e), использовать несколько групп захвата и передать их одному выражению sed .

  • Добавить порядковый номер за словом данных
  • Сохранять только столбец .csv, содержащий данные XYZ?
  • Как искать и заменять строки, соответствующие списку заметок для нескольких файлов
  • Как добавить добавочный счет в каждую строку текстового файла?
  • Как использовать адрес содержимого в sed в osx без ошибки «ожидаемый контекстный адрес»
  • Проблемы при попытке вывести цвета в bash
  • awk + как печатать каждую секцию строки (IP) после первого имени хоста
  • Подмена текста с помощью определенных полей в файле журнала.
  • Извлечение частей строки, разделенной пробелами
  • Индексирование массива с использованием команды "sed"
  • Почему * соответствует, где нет цифр?
  • Interesting Posts

    Как использовать ssh-agent для предоставления ключей, специфичных для хоста, из файла ~ / .ssh / config и управления паролями?

    systemd: значение по умолчанию для переменной среды

    В чем разница между

    Поиск и удаление пакетов, обеспечивающих рабочие среды настольных компьютеров

    монтировать диск mdadm без таблицы разделов

    `sort` игнорирует вопросительный знак

    Использование символической ссылки для точки монтирования

    Керниган и проблема Пайка: как поместить косую черту в имя файла?

    Не удается активировать HDMI на ноутбуке (у которого есть Optimus / шмель)

    Как изменить GSettings без запуска X11?

    Настроить Ubuntu, чтобы он всегда начинался с открытия терминала и Xload?

    Пошаговое резервное копирование FTP на локальный компьютер

    vCenter 6, CentOS 7.3, клон от проблем с сеткой шаблонов

    Как звук обычно работает на компьютере и какие инструменты у меня есть?

    rsync –backup-dir создает пустые папки в резервном каталоге

    Linux и Unix - лучшая ОС в мире.