2016-09-27 13 views
0

私は同じものを探しています 私のテキストファイルは私のサーバのdf -h情報を持っています。シェルスクリプトを使用してテーブル形式のテキストファイルをメールで送信

私はあなたの手順を試してみましたが、親切にそれをフォーマットする際に私を助けて

input="/home/infrarunsvc/output.txt" 
tmpfile="/home/infrarunsvc/tmpfile.html" 

echo 'Content-Type: text/html; charset="us-ascii" ' > "$tmpfile" 
awk 'BEGIN{print "<html><body><table border=1>"} {print "<tr>";for(i=1;i<=NF;i++)print "<td>" $i"</td>";print "</tr>"} END{print "</table></body></html>"}' "$input" >> "$tmpfile" 
mail -s "test" xxxxxx.com < "$tmpfile" 

以下のようにメールを取得。

enter image description here としてテーブル形式 が必要
Use% Avail Used Filesystem 
47% 28G 24G rootfs 
0% 11M 0 udev 
1% 396M 160k tmpfs 
47% 28G 24G /dev/disk/ 
0% 5.3M 0 tmpfs 
1% 793M 13k tmpfs 
2% 50G 520M /dev/xvdg 
24% 39G 12G /dev/xvdf 

+0

いくつかの文脈が不足しているようです。 – RamenChef

+0

メールで結果が下がっています。 コンテンツタイプ:text/html;文字セット= "US-ASCII" ​​ファイルシステム ​​47% ​​28G ​​使用し <テーブルのボーダー= 1> ​​使用% ​​AVAIL ​​24G ​​rootfs 私は表形式で必要です。 – user37824

答えて

0

このようなことを試すことができます。

#!/bin/bash 
df -h > /home/infrarunsvc/output.txt 
tmpfile="/home/infrarunsvc/tmpfile.html" 
input="/home/infrarunsvc/output.txt" 
echo '<html><body><table border=1>' > "$tmpfile" 
awk '{print "<tr>";for(i=1;i<=NF;i++)print "<td>" $i"</td>";print "</tr>"} END{print "</table></body></html>"}' "$input" >> "$tmpfile" 
cat $tmpfile | mail -s "$(echo -e "Test\nContent-Type: text/html")"  
[email protected] 
+0

私はまだメールの下に結果を得ています。なぜ私はテーブル形式になっていません。 <テーブル境界= 1> ​​使用% ​​AVAIL ​​使用さ ​​ファイルシステム ​​47% ​​28G ​​24G ​​rootfsの いくつかのいずれかでのDF -hを実行し、表形式で私のメールIDに詳細を取得するための簡単なスクリプトを提供することができます。 – user37824

+0

@ user37824私はansを更新しました。これは私のenvで動作します。 –

+0

私は確かにわかりません。なぜ私のために働いていないのですか。 私はこれを私のaws要塞サーバーで試しています。 – user37824

関連する問題