ログファイルの各行の末尾に「\ n」を追加する方法

ログファイルの各行の末尾に「\ n」を追加する方法

私はmsmtpを使用して会社に設定したいくつかのRPiキオスクに電子メール通知を生成しています。残念ながら、電子メール通知にログファイルの最後の5行を含めようとすると、msmtpは改行を正しく処理できず、エラーが発生します。すべて1行のテキストで印刷します。ログファイルのすべての行に\ nが含まれていると、電子メール警告に正しく出力されます。

このコマンドの基本例は次のとおりです。

echo -e "This is a test. $(tail -5 /var/log/syslog)" | msmtp @domain

syslogをエコーするがmsmtp改行文字を処理できないように見えるため、すべてテキストに囲まれています。 syslog を手動で編集して各行\nの末尾に追加すると、正しく印刷されます。

\nログファイルの各行の末尾に追加するsedまたはawkの正しい構文は何ですか?

ベストアンサー1

これはとても簡単です。入力は、msmtpヘッダーと本文を含む正しい形式の電子メールメッセージでなければなりません。結局/usr/{bin,lib}/sendmail、ヘッダーを本文から分離しなかったか、実際にヘッダーをまったく生成しませんでした。あなたのsyslog行は(非常に奇妙な)ヘッダーとして扱われます。

ヘッダー。新しいチーム。体。それを生成します。

おすすめ記事