다채로운 출력을 읽을 수 있는 HTML 이메일로 변환

다채로운 출력을 읽을 수 있는 HTML 이메일로 변환

다음 DISCUS 명령 출력을 얻는 방법:

컬러 원반 출력 스크린샷

HTML 이메일 친화적인 콘텐츠로 변환하시겠습니까? 나는 다음과 같은 bash 스크립트를 작성했습니다.

#!/bin/sh
discus > /tmp/discus.log
touch /tmp/diskchart.log
    echo "To: [email protected]" > /tmp/diskchart.log
    echo "Subject: Weekly Disk Report" >> /tmp/diskchart.log
    echo "MIME-Version: 1.0" >> /tmp/diskchart.log
    echo "Content-Type: text/html; charset=\"us-ascii\"" >> /tmp/diskchart.log
    echo "Content-Disposition: inline" >> /tmp/diskchart.log
    echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">" >> /tmp/diskchart.log
    echo "<html>" >> /tmp/diskchart.log
    echo "<div>" >> /tmp/diskchart.log
    cat /tmp/discus.log | grep / | grep -v run | /usr/bin/awk '{print $1}{print $9}' >> /tmp/diskchart.log
    echo "</div>" >> /tmp/diskchart.log
    echo "</html>" >> /tmp/diskchart.log
    mail -s "SAT Weekly Disk Report" [email protected] < /tmp/diskchart.log
#rm  /tmp/discus.log /tmp/diskchart.log

그러나 이렇게 하면 다음과 같은 출력이 생성됩니다.

이스케이프 문자가 포함된 출력 스크린샷

실제 메시지에 나타나는 이스케이프 문자를 처리하는 방법을 아는 사람이 있습니까? 이상적으로는 위에 표시된 것과 같은 막대 차트를 보고 싶습니다. 우분투 12.04.1 LTS를 실행 중입니다.

답변1

당신이 사용할 수있는아하(일부 Linux 배포판에도 패키지되어 있음) ANSI 음영 시퀀스를 HTML로 변환합니다.

#! /bin/sh -
sendmail -t -oi << EOF
To: [email protected]
Subject: Weekly Disk Report
MIME-Version: 1.0
Content-Type: text/html; charset="us-ascii"
Content-Disposition: inline

$(discus | aha)
EOF

관련 정보