Linux grep -e命令

时间:2016-08-10 03:00:05

标签: linux grep

在makefile中,有一个命令行:

COUNT=`grep -e "->" < "$(SOME_DIR)/count.log" | wc -l` ;

我想知道,如果&lt;在此命令中出现表示输出重定向,如果count.log文件为空,则应报告错误信息。

谢谢,

2 个答案:

答案 0 :(得分:1)

<表示输入重定向。 grep的标准输入附加到count.log文件。如果count.log为空,则不是错误,但如果count.log不存在则会出错。

答案 1 :(得分:1)

以下是我为您提供的一些测试:

如果没有 count.log 文件,则结果为:

# grep -e "->" < "count.log" | wc -l
-bash: count.log: No such file or directory
0

如果有一个空的 count.log 文件,结果为:

# touch count.log
# grep -e "->" < "count.log" | wc -l
0

当存在匹配模式时,结果为:

# echo "->" > count.log
# grep -e "->" < "count.log" | wc -l
1

因此,如果文件不存在,您将只会收到错误。