직원 정보:
Name Age DOB
______ ___ _________
Jones 54 06/12/1998
Allen 50 06/09/1990
위의 출력을 표로 보고 싶습니다.
답변1
RalfFriedl이 제안한대로 사용하십시오 html
.
<table>
<tr>
<th>Name</th>
<th>Age</th>
<th>DOB</th>
</tr>
<tr>
<td>Jones</td>
<td>54</td>
<td>06/12/1998</td>
</tr>
<tr>
<td>Allen</td>
<td>50</td>
<td>06/09/1990</td>
</tr>
</table>
이와 같은 것을 사용하여 HTML 이메일을 보내려면 sendmail
html 이메일 헤더가 필요합니다. 이를 위해 임시 파일을 사용하여 다음과 같이 콘텐츠를 저장합니다.
[email protected]
[email protected]
mailsub='This is the subject of my email'
curdate=$(date "+%a, %d %b %Y %H:%M:%S %z")
html_header="From: <${mailfrom}>\nTo: <${mailto}>\nSubject: ${mailsub}\nDate: <${curdate}>\nContent-Type: text/html; charset=utf-8\n"
echo -e "$html_header" > tmp_file
그러면 다음과 같은 헤더가 생성됩니다.
From: <[email protected]>
To: <[email protected]>
Subject: This is the subject of my email
Date: <Sun, 12 Aug 2018 12:30:17 +0000>
Content-Type: text/html; charset=utf-8
그런 다음 파일에 테이블을 추가하고cat tmp_file | mail -t
답변2
1) 아스키로:
#!/bin/bash
prtline(){
printf "%-10.10s %3.3s %12.12s\n" $1 $2 $3
}
prtline Name Age DOB
prtline _______ __________ ___________
prtline Jones 54 06/12/1998
prtline Allen 50 06/09/1990
2) HTML 테이블로:
echo "<table>"
echo "<tr><td>Name</td><td>Age</td><td>DOB</td></tr>"
echo "<tr><td>Jones</td><td>22</td><td>1821</td></tr>"
#etc
echo "</table>"
3) tbl/groff/ps2pdf를 사용합니다. 이렇게 하면 예상대로 좋은 결과를 얻을 수 있지만 조금 더 복잡할 수 있습니다. PDF를 첨부파일로 보내주셔야 합니다.
답변3
다음 코드를 사용하여 CSV 파일을 HTML로 변환합니다.
nawk
이 코드를 사용하려면 설치하세요 .
nawk 'BEGIN{
FS=","
print "<p>Hi,<br/><br/>"
print "Please find the Employee details.<p>"
print "<HTML>""<TABLE border="1"><TH>Name</TH><TH>Age</TH><TH>DoB</TH>"
}
{
printf "<TR>"
for(i=1;i<=NF;i++)
printf "<TD>%s</TD>", $i
print "</TR>"
}
END{
print "</TABLE>"
print "<p><br/>Thank You,<br/>"
print "Team HR<p>"
print "</BODY></HTML>"
}
' employeedetails.csv > employeeDetails.html