скрипт bash для отправки файла журнала в виде содержимого почты, отформатированного (определенная цветовая кодировка)

#bash #shell #sendmail

#bash #оболочка #отправить почту

Вопрос:

 cat run_summary.txt | unix2dos | mail -s "summary log" email_id@gmail.com
  

Эта команда отправляет почту в виде тела сообщения. Однако он не отформатирован. run_summary.txt содержит строки со столбцами, но в электронной почте это не то же самое, что в файле журнала. файл журнала находится в таком формате, как показано ниже.

 below is the summary of log files:
#empty line
date time mon
12   09   jan
07   22   apr
  

Комментарии:

1. TAB отображение зависит от почтового клиента, может отображаться в виде любого количества пробелов. Для выравнивания, если принимающий почтовый клиент не использует текстовый терминал true или шрифт фиксированной ширины, выравнивание не гарантируется. Обычно вы можете форматировать текстовые / простые части MIME с подсчетом символов и ожидать, что клиент будет использовать шрифт фиксированной ширины.

2. Можете ли вы сообщить мне, есть ли в скриптах bash функциональность для чтения файла и отправки его на почту в столбцах / таблицах. или, если нет, можете создать .html и отправить это на почту?

Ответ №1:

cat Команда не требуется. Вы должны перенаправить файл в mail команду.

Кроме того, unix2dos команда может обрабатывать файлы, а не строки. В вашем случае unix2dos команда получает строку из-за cat command. Пожалуйста, прочтите справочную страницу unix2dos команды: https://linux.die.net/man/1/unix2dos

Пример:

 mail -s "summary log" my_mail@gmail.com < run_summary.txt 
  

Если вам действительно нужна unix2dos команда, вы можете сделать это:

 unix2dos run_summary.txt amp;amp; mail -s "summary log" my_mail@gmail.com < run_summary.txt
  

К ВАШЕМУ СВЕДЕНИЮ:
В приведенном выше примере исходное содержимое run_summary.txt файла будет перезаписано. Если вы хотите создать новый файл, вы должны использовать -n флаг.
Например.:

 Convert a.txt and write to e.txt.

unix2dos -n a.txt e.txt
  

Я использовал тот же текстовый файл, что и вы, и письмо содержит следующее содержимое:

 date time mon
12   09   jan
07   22   apr
  

Комментарии:

1. Если файл журнала содержит более одного пробела между столбцами, он не выровнен с теми же пробелами в mail.