grep和tee在安装过程中识别错误

时间:2016-01-21 09:01:02

标签: linux grep tee

为了确定我的安装是否有我应该注意的错误,我在文件上使用grep命令并使用tee编写文件,因为我需要提升权限。

sudo grep -inw ${LOGFOLDER}/$1.log -e "failed" | sudo tee -a ${LOGFOLDER}/$1.errors.log
sudo grep -inw ${LOGFOLDER}/$1.log -e "error" | sudo tee -a ${LOGFOLDER}/$1.errors.log

即使grep没有找到任何内容,也会创建文件。 有没有办法只有在grep找到匹配项时才能创建文件?

由于

1 个答案:

答案 0 :(得分:0)

您可以将tee替换为awk,如果没有要写入的内容,则不会创建文件:

... | sudo awk "{print; print \$0 >> \"errors.log\";}"

但awk的这种功能很少使用。如果没有找到,我宁愿删除空的错误文件:

test -s error.log || rm -f error.log

顺便说一下,你可以同时找到多个单词:

grep -E 'failed|error' ...