我有一個名爲「main.ksh」的腳本,它返回「output.txt」文件,我通過郵件發送該文件(列表包含50多條記錄,例如我只給出3條記錄)。在shell腳本中,HTML如何在awk命令中工作?
郵件輸出我得到的是:(10周的cols)
DATE FEED FILE_NAME JOB_NAME SCHEDULED TIME SIZE COUNT STATUS
Dec 17 INVEST iai guxmow080 TUE-SAT 02:03 0.4248 4031 On_Time
Dec 17 SECURITIES amltxn gdcpl3392 TUE-SAT 02:03 0.0015 9 Delayed
Dec 17 CONNECTED amlbene gdcpl3392 TUE-SAT 02:03 0.0001 1 No_Records
輸出完美的色彩:(僅6周的cols)
DATE FEED FILE_NAME JOB_NAME SCHEDULED TIME SIZE COUNT STATUS
Dec 17 INVEST iai guxmow080 On_Time(green color)
Dec 17 SECURITIES amltxn gdcpl3392 Delayed(red color)
Dec 17 CONNECTED amlbene gdcpl3392 No_Records(yellow color)
我實現着色的延遲,ON_TIME和No_Records場我寫下腳本給我底部輸出。
awk 'BEGIN {
print "<html>" \
"<body bgcolor=\"#333\" text=\"#f3f3f3\">" \
"<pre>"
}
NR == 1 { print $0 }
NR > 1 {
if ($NF == "Delayed") color="red"
else if ($NF == "On_time") color="green"
else if ($NF == "No_records") color="yellow"
else color="#003abc"
Dummy=$0
sub("[^ ]+$","",Dummy)
print Dummy "<span style=\"color:" color (bold ? ";font-weight:bold" : "")(size ? ";font-size:size" : "") (italic ? ";font-style:italic" : "") "\">" $NF "</span>"
}
END {
print "</pre>" \
"</body>" \
"</html>"
}
' output.txt > output.html
有4列自動跳過。
你的腳本對我來說是完美的(複製粘貼它)。你確定output.txt是正確的格式嗎?在用Dummy編輯之前檢查了這一點。 – kabanus
@kabanus,您好,先生,我想這麼好因爲我使用awk打印所有10個cols,如下awk'{printf(「% - 5s%s \ t%-33s%-35s%-39s%s \ t%s% 3s \ t%s \ t%s \ n「,$ 1,$ 2,$ 3,$ 4,$ 5,$ 6,$ 7,$ 8,$ 9,$ 10)}'> output.txt – user7268185
如果7-10美元不存在仍然工作。你可以複製粘貼output.txt的前4行(不使用awk或其他東西)嗎?新版本重複行,但仍然顯示我的所有列。 – kabanus