package-cleanup --oldkernels --count = 1
удалить все ядра, кроме самого последнего.
Я бы попробовал
unix2dos < file.txt | mail -s 'subject...' email
где
unix2dos
преобразует вашу строку (LF only )в окончания Windows (CR/LF ). Описательный ответ
Включает изменения согласно комментариям @StéphaneChazelas, а также Ответ
Общая проблема заключается в том, что большинство современных клиентов Mail User Agent (MUA )не отображают обычный текст в формате Monospace. Автономные клиенты, такие как Evolution от Gnome, Microsoft Outlook и Thunderbird от Mozilla, используют различные шрифты. В то время как большинство клиентов веб-почты, таких как Gmail, ожидают и отображают HTML. К счастью, существует HTML-тег для разделения блока предварительно отформатированного текста -. Для удобства этот набор тегов <pre></pre>
. К сожалению, Unix mail
по умолчанию отправляет электронную почту в виде простого текста. Таким образом, необходимо решить две проблемы:
<pre></pre>
HTML. content-type
отправленного письма на text/html
. Добавление тегов HTML представляет собой простой процесс добавления тега <pre>
перед первой строкой и тега </pre>
после последней строки отправляемого файла. Я позаимствовал метод отправки электронной почты в формате HTML из этого ответа .
Функциональный сценарий
Обратите внимание, что это очень простой, не -готовый к работе скрипт, без проверки ошибок:
#!/bin/bash
# Requires GNU recode
# Usage:
#./email_log.sh file_to_send.txt subject recipient
# Set paths and filenames
_dir="."
_infile=$1
_subject=$2
_user=$3
_sendfile="$_dir/send.txt"
# Prepend and append <pre></pre> HTML tags
cat $_infile |recode..html |sed "1s;^;To: $_user\nSubject: $_subject\nContent-Type: text/html\n<html><body><pre>\n;" > $_sendfile
echo "</pre></body></html>" >> $_sendfile
# Sending html email
cat $_sendfile | /usr/sbin/sendmail -t -oi
# Cleanup
# rm $_sendfile
Выполнить следующим образом:
./email_log.sh test_lines.txt "This is a test of sending a text file using <pre> html tags" user1
Полное электронное письмо с заголовками, показывающими, что содержимое -имеет тип text/html
и добавлены теги <pre>
:
Return-path: <user1@host>
Envelope-to: user1@host
Delivery-date: Fri, 05 Apr 2019 09:39:03 -0400
Received: from user1 by host with local (Exim 4.92)
(envelope-from <user1@host>)
id 1hCP3f-0000Ie-T6
for user1@host; Fri, 05 Apr 2019 09:39:03 -0400
Subject: This is a test of sending a text file using <pre> html tags
Content-Type: text/html
To: <user1@host>
X-Mailer: mail (GNU Mailutils 3.5)
Message-Id: <E1hCP3f-0000Ie-T6@pots>
From: user1 <user1@host>
Date: Fri, 05 Apr 2019 09:39:03 -0400
X-Evolution-Source: 2e20a156d92decafcdd72e4d7b87e28dd95ed39a
MIME-Version: 1.0
<pre>
1234567890 1234567890
1234
123456
Do not wrap around this line please. Do not wrap around this line please. Do not wrap around this line please. Do not wrap around this line please.
1234567890
_________________________________
< Plain Text content sent as HTML >
---------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
</pre>
Отображение электронной почты в Gnome's Evolution, показывающее, что MUA теперь отображает текст в моноширине, как и предполагалось:
Похожий, но более надежный вариант подхода @RubberStamp mail
, при котором мы отправляем электронное письмо в формате HTML внутри <pre></pre>
, чтобы почтовые клиенты отображали его как -в фиксированном -ширина шрифта (требуется GNUrecode
):
#! /bin/sh -
PATH=$PATH:/usr/sbin:/usr/lib # adding common locations of sendmail
export PATH
{
printf '%s\n' \
'To: email' \
'Subject: test' \
'MIME-Version: 1.0' \
'Content-Type: text/html' \
'' \
'<html><body><pre>'
/path/to/executable-script/executable-script.sh status |
recode..html
printf '</pre></body></html>\n'
} | sendmail -t -oi
Если recode
не установлен и не может быть установлен, а в вашей системе есть perl-модуль HTML::Entities
, вы можете заменить recode..html
на:
perl -Mopen=locale -MHTML::Entities -pe '$_=encode_entities$_'