Subject: Re: bug#41700: grep -v always exiting with 1 for empty file

From: Norihiro Tanaka <[email-masked]>
Date: Thu, 04 Jun 2020 19:26:34 +0900

On Wed, 3 Jun 2020 20:26:41 -0700
Andi Kleen <[email-masked]> wrote:

> 
> % grep --version
> grep (GNU grep) 3.4
> ...
> % echo -n > foo
> % grep -v foo foo ; echo $?
> 1
> 
> Would expect it to exit with zero in this case, since foo is not in the
> file.
> 
> When the file is one byte it works as expected:
> 
> % echo > foo
> % grep -v foo foo ; echo $?
> 
> 0
> %

`0 if a line is selected, 1 if no lines were selected,' in manual.
`0: One or more lines were selected. 1: No lines were selected.' in
POSIX.

> % echo -n > foo
> % grep -v foo foo ; echo $?

It returns no lines, so it seems reasonable to return 1.