2013-06-18 77 views
0

我正在写一个bash脚本,该脚本读取将查询结果以HTML格式(使用-H选项)输出到文件(使用-o选项)的sql查询结果,然后通过电子邮件发送这些结果。当结果输出到文件中,他们出来为:在bash中显示特殊字符echo

'<IDLE>' 

但是,当我从输出文件解析他们,他们在电子邮件作为显示:

&lt;IDLE&gt; 

谁能帮助我的格式这些让我得到实际的字符而不是实体表示?

编辑:我现在发送文本的方式是:

echo -e $EMAIL_TXT | mail -s $SUBJECT $RECIPIENT 

而且我提取从HTML文件(OUT_FILE $)文本的方法是:

QRY_LINE=$(sed "${QRY_LNUM}q;d" $OUT_FILE) 
+1

'echo -e'?为什么?如果你正在写一个文件,'mail -s'$ subject“”$ recipient“

+0

它与邮件命令无关,我使用-e,因为'$ EMAIL_TXT'中有换行符,实体替换正在发生,当我从'$ OUT_FILE'中提取文本时,请参阅我最近的编辑 – azrosen92

+0

是QRY_LINE '应该是'$ EMAIL_TXT'?当您在浏览器或文本编辑器中打开输出文件时,您是否看到''? – doubleDown

回答

0

我最终只是使用字符串替换来分别替换所有&lt; s和&gt; s分别与<>