Информация о сотруднике:

Name    Age   DOB
______  ___   _________
Jones   54    06/12/1998 
Allen   50    06/09/1990

Я хочу увидеть приведенный выше вывод в таблице.

-4
Siva 12 Авг 2018 в 16:13
Вы можете отправить электронное письмо в формате HTML с таблицей. В противном случае результат зависит от шрифта, который получатель использует для отображения электронной почты.
 – 
RalfFriedl
12 Авг 2018 в 15:06
2
Сколько Джонсу 54 года, если он родился в 1998 году?
 – 
jesse_b
12 Авг 2018 в 15:18
2
Пожалуйста, постарайтесь задать четкий вопрос. 1- что вам нужно, 2- ваш вклад , 3- что вы ожидаете
 – 
Hossein Vatani
12 Авг 2018 в 15:33

3 ответа

Использование html, как предложил RalfFriedl:

<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. Для этого я использую временный файл для хранения содержимого следующим образом:

mailto=to@address.com
mailfrom=from@address.com
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: <from@address.com>
To: <to@address.com>
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

1
jesse_b 12 Авг 2018 в 15:34

1) Как ascii:

#!/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 как вложение.

0
Ljm Dullaart 12 Авг 2018 в 15:36

Используйте приведенный ниже код для преобразования файла 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
0
Siva 12 Авг 2018 в 16:20