在shell脚本中读取sed命令的错误输出

时间:2015-10-28 08:12:23

标签: sed

如果下面的sed命令失败,我想要失败的原因,即错误输出也应作为电子邮件的一部分添加。怎么做?

代码是:

sed -e  abc.txt > /net/abc.com/test/abc.txt

#Sending email

if [ -f /net/abc.com/test/abc.txt ]; then
       echo "content of abc.txt saved to server" | mail -s "Content of abc" dave@klm.com
else
       echo "File does not exist"
fi

在“文件不存在”之后,应附加sed失败的原因。

1 个答案:

答案 0 :(得分:3)

sed命令将其错误发送到(令人惊讶的是)标准错误。所以你可以抓住它并特别对待它,按照下面的记录:

pax> echo hello | sed 's/missing/terminator' >outfile 2>errfile

pax> cat outfile

pax> cat errfile
sed: -e expression #1, char 20: unterminated `s' command