[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41700: grep -v always exiting with 1 for empty file
From: |
Andi Kleen |
Subject: |
bug#41700: grep -v always exiting with 1 for empty file |
Date: |
Thu, 4 Jun 2020 07:06:55 -0700 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On Thu, Jun 04, 2020 at 07:26:34PM +0900, Norihiro Tanaka wrote:
>
> On Wed, 3 Jun 2020 20:26:41 -0700
> Andi Kleen <andi@firstfloor.org> 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.
I would argue that a empty file has a single empty line.
Besides it completely breaks the "is foo not in file" functionality.
In normal terminology that's a off by one bug. Why should
an empty file be different than any other files?
I just had to rewrite a test script of mine and add lots of
echo >> outputfile
statements to work around it.
-Andi
- bug#41700: grep -v always exiting with 1 for empty file, Andi Kleen, 2020/06/04
- bug#41700: grep -v always exiting with 1 for empty file, Paul Jackson, 2020/06/04
- bug#41700: grep -v always exiting with 1 for empty file, Norihiro Tanaka, 2020/06/04
- bug#41700: grep -v always exiting with 1 for empty file,
Andi Kleen <=
- bug#41700: grep -v always exiting with 1 for empty file, Paul Eggert, 2020/06/04
- bug#41700: grep -v always exiting with 1 for empty file, Andi Kleen, 2020/06/04
- bug#41700: grep -v always exiting with 1 for empty file, Eric Blake, 2020/06/04
- bug#41700: grep -v always exiting with 1 for empty file, Paul Eggert, 2020/06/04
- bug#41700: grep -v always exiting with 1 for empty file, Eric Blake, 2020/06/04
- bug#41700: grep -v always exiting with 1 for empty file, Paul Eggert, 2020/06/04